2014-06-04 81 views
1

我有一個AJAX發佈請求,以發送一些JSON到服務,但我無法讓它完全工作。 數據到達服務並保存,但我的功能工作,如果沒有成功,並返回我所有的錯誤消息。AJAX POST請求失敗,但數據發送

有人可以解釋我爲什麼會發生這種情況? 我搜索了,我找不到解釋爲什麼。

saveDate: function ($target) { 
     var values = $target.data("DateRangesWidget").options.values; 
     var beginDate = values.dr1from.split("/"); 
     var endDate = values.dr1to.split("/"); 
     var compareBeginDate = values.dr2from.split("/"); 
     var compareEndDate = values.dr2to.split("/"); 
     var date = { 
      "ID": 1, 
      "BeginDate": (beginDate[2] + '-' + beginDate[1] + '-' + beginDate[0]), 
      "EndDate": (endDate[2] + '-' + endDate[1] + '-' + endDate[0]), 
      "Aggregation": values.aggregation, 
      "Comparative": values.comparisonEnabled, 
      "ComparationType": values.comparisonPreset, 
      "ComparativeBeginDate": (compareBeginDate[2] + '-' + compareBeginDate[1] + '-' + compareBeginDate[0]), 
      "ComparativeEndDate": (compareEndDate[2] + '-' + compareEndDate[1] + '-' + compareEndDate[0]) 
     } 
     jQuery.support.cors = true; 
     $.ajax({ 
      url: 'http://localhost:9000/json/1', 
      cache: false, 
      type: 'POST', 
      contentType: 'application/json; charset=utf-8', 
      data: JSON.stringify(date), 
      dataType: 'json', 
      success: function (data) { //não funciona pq?? 
       //console.log('added'); 
       location.reload(); 
      }, 
      error: function (xhr, textStatus, errorThrown) { 
       console.log(errorThrown); 
       console.log(xhr); 
       console.log(textStatus); 
       //location.reload(); 
      } 
     }); 
    }, 
+3

請告訴我的JavaScript是什麼樣子?請張貼有問題的代碼。 – 13ruce1337

+2

如果沒有代碼示例和有關代碼行爲與期望值不同的具體信息,我們無法解釋可能出現的問題。 –

+0

你可以把結果?就像你從Firebug得到的那些?數據越多越容易幫助。 –

回答

0

你隨時都可以通過註冊jqXHR對象的情況下,像完成/失敗/總是/然後事件結果,.post的$方法會返回一個jqXHR對象。

詳細資料請參閱:

http://api.jquery.com/jQuery.ajax/#jqXHR

所以,如果你正在測試,你可以使用如下代碼響應細節:

$.post(url, data).always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { 

    // do something here. 

});