我一直在比較我的代碼與網絡上的其他示例,我仍然無法找到我的錯誤。 當我加載頁面並點擊提交時,屏幕上沒有任何反應。但是,在Firebug中,我收到POST 200 OK
,應該在屏幕上顯示的PHP腳本在POST響應標籤中列出。打印JSON數組到屏幕通過ajax到PHP腳本
由於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
發送。提交事件處理程序觸發$.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>
當你在成功時提醒數據變量時,你有什麼做什麼 – mlwacosmos