2014-05-12 52 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;