1

我目前已成功将我的 Jquery AJAX 后调用提交给 PHP。但是我的 PHP 回调显示为未定义。

我的 PHP 文件:

echo json_encode(array('returned_val' => 'returned from PHP'));

查询:

        //Save the data
        var url = "saveToDb.php"; // the script where you handle the form input.

        var request = $.ajax({
               type: "POST",
               url: url,
               data: $("#formSubmit").serialize(), // serializes the form's elements.
               success: function(data)
               {
                   alert(data.returned_val);
               },
               error:function() {
                    alert("failure");
                }   
             });
        return false;

在 firebug 中,我的 .php 文件调用的 Net-Response 标头向我显示:

{"returned_val":"returned from PHP"}

JSON Net-JSON 标头告诉我:

returned_val                    "returned from PHP"

关于我缺少什么的任何建议?

4

2 回答 2

0
$.ajax({
    type: "POST",
    dataType: 'json',
    url: url,
}).done(function(data){
    alert(data.returned_val);

}});

如果你把 dataType: 'json' 它应该已经转换

于 2013-04-29T22:54:40.510 回答
0

更好的解决方案如下。否则对象子返回“未定义”

$.ajax({
    type: "POST",
    dataType: 'json',
    url: url,
}).done(function(data){

 alert(data.returned_val); // OUTPUT: "undefined"

 var object = $.parseJSON(data);

 alert(object.returned_val); // OUTPUT : "Your message"

});
于 2016-06-04T01:36:38.613 回答