
http://itpro.nikkeibp.co.jp/article/COLUMN/20060 …
こちらの記事のサンプルをコピーして試してみたのですが、画像添付のようにページ全体のコピー?が追加されてしまいます。なぜ記事通りにいかず、このような結果になってしまうのでしょうか。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>書籍検索</title>
<script language="JavaScript">
<!--
// [送信]ボタンをクリック時の処理を定義
function send() {
// 非同期通信を行うためのXMLHttpRequestオブジェクトを生成
try {
xmlReq = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
xmlReq = new XMLHttpRequest();
}
// サーバーからの応答時の処理を定義(結果のページへの反映)
xmlReq.onreadystatechange = function() {
var msg = document.getElementById("result");
if (xmlReq.readyState == 4) {
if (xmlReq.status == 200) {
msg.innerHTML = xmlReq.responseText;
} else {
msg.innerHTML = "通信に失敗しました。";
}
} else {
msg.innerHTML = "通信中…";
}
}
// サーバーとの通信を開始
xmlReq.open("GET","2.php?isbn="
+ encodeURI(document.fm.isbn.value),true);
xmlReq.send(null);
}
//-->
</script>
</head>
<body>
<form name="fm">
ISBNコード:
<input type="text" name="isbn" size="30" />
<input type="button" value="送信" onclick="send()" />
<div id="result" />
</form>
<?php
// 出力/内部文字コードをUTF-8に設定
mb_http_output('UTF-8');
mb_internal_encoding('UTF-8');
/* 入力されたISBNコードをキーに対応する書名($result)を取得。
通常のアプリケーションでは、ここでデータベースへの検索処理などを行う */
switch($_GET['isbn']){
case '4-7981-1070-1' :
$result='XMLデータベース入門 NeoCore/XprioriでXMLDBを極める!';
break;
case '4-88337-491-2' :
$result='書き込み式 SQLのドリル?ドンドン身に付く、スラスラ書ける';
break;
case '4-7980-1270-X' :
$result='Pocket詳解PHP辞典';
break;
default :
$result='不明';
}
sleep(3); // 3秒休止(待ち時間を体感するためのダミー)
print($result); // 取得した結果を出力
?>
</body>
</html>

No.2ベストアンサー
- 回答日時:
質問者さんは、例えば。
初めて作るみそ汁のレシピ
1)出汁を取る
2)具を入れる
3)味噌を入れる
というのを見て、ケチャップやらウスターソースやら酢を入れるタイプですか?
私はファイルを2つに分けてみてくださいとは言いましたが、includeを使えとは一言も言っていません。
参考サイトを見直して、一字一句、全く同じものを作ってみてください。
もちろん、ファイル名も同じものです。
No.1
- 回答日時:
ページの全部をAjaxの受信に使ってるからではないですか?
フォーム用のHTMLファイルと、Ajax受信用のPHPファイルを分けてますか?
>フォーム用のHTMLファイルと、Ajax受信用のPHPファイルを分けてますか?
分けていません。
<body>
<?php include("2-include.html"); ?>
<?php
// 出力/内部文字コードをUTF-8に設定
formのあったところを<?php include("2-include.html"); ?>にして
-----------------
2-include.html
-----------------
<form name="fm">
ISBNコード:
<input type="text" name="isbn" size="30" />
<input type="button" value="送信" onclick="send()" />
<div id="result"></div>
</form>
というように別ファイルにしてみたのですが結果は同じでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
正規表現で、特定の文字列を含...
-
非同期通信で掲示板を作る際の...
-
Pythonのtkinterについて
-
GASでスプレッドシートの一番上...
-
バッチファイル 特定ウインドウ...
-
エクセルでこのような動きをさ...
-
PDFを(htmlのように)無限に縦...
-
gmailからpythonファイル実行
-
php コールバック関数
-
ナイトボットのAliasについて
-
これってなんの電話かわかりま...
-
VBAでクイズゲームの作り方
-
以下のURL入れますか?皆さんは↓
-
画像のドットの部分が抜けてい...
-
Chinapost こよパズルどう動か...
-
非同期通信を使うタイミングが...
-
PYTHONのtkinterについて
-
Pythonを勉強する道のり
-
Pythonを無料(安価)で学ぶ方...
-
RPA(PowerAutomate)の実装について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JavascriptからPHPへのAjax通信...
-
JSONをperlで受け取る方法
-
jQueryのblockUIをformのボタン...
-
ajaxでPHPにPOST送信して結果デ...
-
ajaxでページ全体がコピーされ...
-
Ajax・jQueryでGETとPOSTする方法
-
JQueryの変数の扱いで弱ってい...
-
AJAX+PHPでセレクトボックスの連動
-
ajaxを使ったページがSEOで不利...
-
jQuery を外部ファイルから呼び...
-
Ajax サーバーに負荷かかります...
-
Ajaxでフォームデータを連続登...
-
AjaxでJSONを受信すると、文字...
-
ajaxからphpにpsotしたときの日...
-
jQueryで外部テキストファイル...
-
Ajax を Fetch API に 書き換え...
-
IE8 form action属性をはずす...
-
IE8で動かないJQuery
-
ajaxでのデータの送信の質問です
-
jQuery,Ajaxでcgiに接続する方...
おすすめ情報