ajax成功回调不能处理json响应

时间:2014-05-12 17:35:22

标签: php jquery ajax json

AJAX请求已成功发送到php服务器,并在我的oracle数据库中插入记录。我无法成功获得JSON响应,错误,完整的回调函数。

我也看不到console.log上的任何日志

我使用的是codeigniter,我的php服务器位于模型文件夹中,它返回一个json格式的字符串。

echo json_encode(array("Response"=>99,"Value"=> $result));

这是我的ajax代码:

$.ajax({
    url: 'url/functionhere',
    type: 'post',
    dataType: 'json',
    data: {
        "STUDID": studId,
            "LASTNAME": lastName,
            "FIRSTNAME": firstName,
            "MIDINITIAL": midInitial,
            "BIRTHDAY": birthday,
            "AGE": age,
            "GENDER": 'M'
    },
    success: function (data) {
        if (data.Response == 99) {
            alert(data.Value);
            console.log("putek");
        }
    },
    error: function (header, status, error) {
        console.log('ajax answer post returned error ' + header + ' ' + status + ' ' + error);

    },
    complete: function () {
        console.log("putek");
    }
});

2 个答案:

答案 0 :(得分:1)

在PHP文件中设置内容类型:

@header( 'Content-Type: application/json' );
echo json_encode( array( "Response" => 99, "Value" => $result ) );
exit;

答案 1 :(得分:0)

您可能还想尝试一下(使用jQuery 1.9.1):

 var args=new Object();
 args["STUDID"]=studId;
 args["LASTNAME"]=lastName;
 args["FIRSTNAME"]=firstName;
 args["MIDINITIAL"]=midInitial;
 args["BIRTHDAY"]=birthday;
 args["AGE"]=age;
 args["GENDER"]='M';

 $.post("url/goes/here", args)
 .done(function(returnVal){
     var returnObj = $.parseJSON(returnVal);
     //remaining success code goes here
 })
 .fail(function(){
     //put failure code here
 });