2014-05-12 96 views
0

AJAX请求已成功发送到PHP服务器,也插入记录在我的Oracle数据库。我无法获得成功的JSON响应,错误,完整的回调函数。ajax成功回调不工作在JSON响应

我也不能看到我使用笨上的console.log

任何日志和我的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"); 
    } 
}); 
+0

您使用的是IE吗? console.log()可能会很有趣。在解决问题之前,您必须先解决问题。 –

+2

尝试在成功方法中的if语句之前使用console.log(data)。 – Vadorequest

+0

JavaScript错误控制台说什么?和Net标签? – Quentin

回答

0

你可能也想给一个尝试(使用jQuery 1.9.1)这样的:在你的PHP

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 
}); 
+0

正如我记得'parseJSON'用于将字符串转换为JSON对象,而不是用于将JSON对象转换为JSON对象?来自服务器的PHP代码正在返回JSON对象。 – Prateek

+0

嗨Prateek。 PHP代码json_encode()将值转换为其JSON表示(JSON字符串)。该字符串是返回到JavaScript AJAX调用的内容。从那里,jQuery将字符串转换为JSON对象。 –

+0

现在这是启发性的,刚刚通过'json_encode'的官方文档,并且事实上,我已经使用了json_encode的数千位输出而不使用'parseJSON()',从来没有遇到任何问题。但是我当然错了,尽管谢谢! :) – Prateek

1

集内容类型file:

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