重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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>

「ajaxでページ全体がコピーされてしまい」の質問画像

A 回答 (2件)

質問者さんは、例えば。



初めて作るみそ汁のレシピ
1)出汁を取る
2)具を入れる
3)味噌を入れる
というのを見て、ケチャップやらウスターソースやら酢を入れるタイプですか?


私はファイルを2つに分けてみてくださいとは言いましたが、includeを使えとは一言も言っていません。

参考サイトを見直して、一字一句、全く同じものを作ってみてください。
もちろん、ファイル名も同じものです。
    • good
    • 0
この回答へのお礼

記事にしっかり書いてありました。有難うございました。

お礼日時:2012/05/31 00:18

ページの全部をAjaxの受信に使ってるからではないですか?


フォーム用のHTMLファイルと、Ajax受信用のPHPファイルを分けてますか?
    • good
    • 0
この回答へのお礼

>フォーム用の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>

というように別ファイルにしてみたのですが結果は同じでした。

お礼日時:2012/05/30 10:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!