自分のコードを Web 上の他の例と比較しましたが、まだエラーが見つかりません。ページを読み込んで [送信] をクリックしても、画面に何も表示されません。ただし、Firebug では、POST 200 OK
画面に表示されるはずの PHP スクリプトが POST 応答タブに表示されます。
Firebug は適切に応答しているため、何が問題なのか混乱しています。
基本的な HTML フォーム
<form id="form" action="" method="post">
<input type="submit" name="submit" id="submit" value="submit"/>
</form>
<div id="results"></div>
jQuery は JS オブジェクトを作成します。オブジェクトは と を介して送信されJSON.stringify
ますJSON.parse
。submit イベント ハンドラーは、$.ajax
. JSON データが渡されok.php
、理論的には、スクリプトで呼び出された PHP 情報を返す必要があります。
var addIt = new Object();
addIt.one = "one";
addIt.two = 2;
addIt.three = addIt.one +" + "+ addIt.two +" = "+ "three";
$jsonAddIt = JSON.stringify(addIt);
$jsonAddIt = JSON.parse($jsonAddIt);
$('#submit').click(function(e){
e.preventDefault();
$.ajax({
type: 'POST',
url: 'ok.php',
dataType:'json',
data: ({ json:$jsonAddIt }),
success:function(data) {
$("#results").html(data);
}
});
});
PHP
<?php
$ajaxInfo = $_POST["json"];
if ($ajaxInfo !="")
{
echo "info transfered";
}
else
echo "nothing";
?>
<div id="returned">
<?php print_r($ajaxInfo); ?>
</div>