无法将值从PHP传递到AJAX

时间:2017-06-14 14:07:07

标签: php jquery 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);
}

我希望你们中的一些人可以帮助我:)。

2 个答案:

答案 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"); }