Ajax jsonp调用触发器失败,尽管响应似乎没问题

时间:2015-02-26 13:45:09

标签: jquery jsonp

我用jsonp ajax调用调用php脚本。我的问题是我无法获得回调以触发“成功” - 我的数据由我的PHP脚本处理和保存,响应似乎还可以。

我一直在尝试以下方法:

var url = "my.php"; // the script where you handle the form input.

var request = $.ajax({
       type: "GET",
       url: url,
       dataType: 'jsonp',
       data: { name: signupName, email: signupEmail, date: signupDate},
       success: function(data)
       {
            if(data.returned_val == "succes") {
                //all good
            }
       },
       error:function() {
            console.log("fail");
        }   
     });
  return false;
}

从我的php脚本中打印出一个类似于{"returned_val":"succes"}

的json响应

1 个答案:

答案 0 :(得分:0)

JSONP要求服务器返回回调函数中包含的响应。基本上,您的PHP脚本应该响应以下

header("Content-Type: application/json");
echo $_GET['callback'].'({"returned_val":"succes"})';

这样,JS会接受响应为有效并触发成功回调。