2013-10-10 36 views
0

我的AJAX調用執行,並返回我想它也而非內.done 它未能在.fail和結果。總是工作JQuery的AJAX未能

$(document).ready(function() { 
     $("#submit").click(function(){ 

      var formData = $("#callAjaxForm").serialize(); 

      $.ajax({ 
       type: "POST", 
       url: "JSON_MDB_UPDATE.php", 
       data: formData 
      }) 
      .done(function(data) { 
       alert("Done: " + data); 
       data = $.trim(data); 
       $("#notification").text(data.responseText); 
      }) 
      .fail(function(data) { 
       alert("Failed: " + data); 
       console.log(data); 
      }) 
      .always(function(data) { 
       $("#notification").text(data.responseText); 
      }); 

      return false; 
     }); 
    }); 

這裏是我的控制檯結果:

console.log

我的PHP只是回聲一個簡單的例子:

<?php 

header('content-type: application/json; charset=utf-8'); 
header("access-control-allow-origin: *"); 


$firstName = $_POST[firstName]; 
$lastName = $_POST[lastName]; 

echo("My First Name: " . $firstName . " Last Name: " . $lastName); 
?> 

回答

4

header('content-type: application/json; charset=utf-8');

這是說你輸出JSON,所以jQuery將嘗試分析它作爲JSON和下降到錯誤狀態,如果它不能。

​​3210

這是 JSON

輸出JSON代替。

echo json_encode(Array("My First Name" => $firstName, "Last Name" => $lastName)); 

或者,如果你不想結構化數據:不要說你要發送JSON:

header('content-type: text/plain; charset=utf-8'); 
+0

謝謝,你能告訴我是新來這...你的例子都解決了我的問題......非常感謝! – BarclayVision