我遇到了AJAX和PHP之间的通信问题。我已经从相关问题和答案中尝试了所有这些代码,但没有任何效果。此代码应从同一服务器上的PHP文件中接收JSON字符串,并在HTML区域中显示值。
$(document).ready(function(){
setInterval(ajaxcall, 1000);
});
function ajaxcall(){
var data = $('#signup_form').serialize();
$.ajax({
type: "GET",
url: "test.php",
data: data,
dataType: 'json',
success: function (data) {
window.console.log("Success");
document.getElementById("count").innerHTML = $('#time').html(data.time);
},error: function alert(){"error";}
});}
当我在浏览器中执行脚本时(使用调试模式),没有任何反应。我认为这意味着“成功”的问题。方法
这是我的PHP代码的一部分(用于测试):
for($i = 0; $i < 50; $i++){
sleep(1);
return_json($argv[1]);
}
//return all values for html/javascript
function return_json($a){
$json = array('time' => $a);
echo json_encode($json);
}
我希望你们中的一些人可以帮助我:)。
答案 0 :(得分:0)
您应该将内容类型添加到回复标题中:
List<Object>
在此进一步阅读和更详细的解释:j Query $.ajax request of dataType json will not retrieve data from PHP script
答案 1 :(得分:0)
是否真的调用了函数ajaxcall()
?尝试在开始时添加console.log
电话,例如
function ajaxcall(){
var data = $('#signup_form').serialize();
console.log(' form data = %o', data)
//...
另一个可能的问题是函数error: function alert(){"error";}
没有任何可见的问题。如果您的服务器脚本返回错误,则在这种情况下您将看不到任何内容。
将其更改为
error: function(){ alert("error"); }