[英]Unable to pass Value from PHP to AJAX
我对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);
}
我希望你们中的一些可以帮助我:)
您应该将内容类型添加到响应头中:
//this line
header('Content-type: application/json');
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);
}
在此进一步阅读和更详细的解释:j 查询dataType json的$ .ajax请求不会从PHP脚本检索数据
函数ajaxcall()
真的被调用了? 尝试在开始时添加console.log
调用,例如
function ajaxcall(){
var data = $('#signup_form').serialize();
console.log(' form data = %o', data)
//...
函数error: function alert(){"error";}
还有另一个可能的问题error: function alert(){"error";}
没有任何作用。 如果您的服务器脚本返回错误,则在这种情况下您将看不到任何内容。
将其更改为类似
error: function(){ alert("error"); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.