2017-09-16 169 views
-1

試圖發送一個ajax post請求jQuery的AJAX POST請求失敗

function ajaxCall(request_data) { 
alert(request_data['table'] + request_data['name'] + request_data['description']); 
$.ajax({ 
    type: "POST", 
    cache: false, 
    url: "../src/api.php/InsertTo", 
    data: request_data, 
    dataType: "json", 
    contentType: 'application/json', 
    success: function() { 
     alert('good'); 
     /* $('form').hide(); 
     $('h3').append("Object Successfully Inserted!");*/ 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     alert(errorThrown + textStatus); 
    } 
}); 

它的每一次拋出錯誤,「request_data」是一個對象和URL的回報只是一個簡單的字符串現在,請查找問題

+0

在發送JSON請求之前,您是否使用了'JSON.stringify(request_data)'?您還可以在發送給api的問題中共享'request_data'的格式 – Niladri

+0

錯誤是什麼? –

+0

'code' VAR request_data = { '表': '學生', '名':姓名, '電子郵件':電子郵件, '電話':電話 }這是可變的,我檢查每一個參數,它有它的價值 –

回答

0

您可以在request_data上使用JSON.stringify後嘗試使用下面的代碼。根據文檔

「JSON.stringify()方法將JavaScript值轉換爲JSON字符串,如果指定了替換程序函數,則可以選擇替換值,或者如果指定了替換程序數組,則可以選擇僅包含指定的屬性。

由於您正在使用dataType: "json"contentType: 'application/json;'您應該將javascript值轉換爲正確的JSON字符串。

請找到更多在下面的鏈接

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

function ajaxCall(request_data) { 
 
alert(request_data['table'] + request_data['name'] + request_data['description']); 
 
$.ajax({ 
 
    type: "POST", 
 
    cache: false, 
 
    url: "../src/api.php/InsertTo", 
 
    data: JSON.stringify(request_data), 
 
    dataType: "json", 
 
    contentType: 'application/json; charset=utf-8', 
 
    success: function(data) { 
 
     alert('good'); 
 
     console.log(data); // print the returned object 
 
     /* $('form').hide(); 
 
     $('h3').append("Object Successfully Inserted!");*/ 
 
    }, 
 
    error: function(jqXHR, textStatus, errorThrown) { 
 
     alert(errorThrown + textStatus); 
 
    } 
 
});

0

你必須使用JSON.stringify()方法。

data: JSON.stringify(request_data) 

此外,contentType是要發送的數據,所以應用程序/ JSON的類型;缺省值是application/x-www-form-urlencoded;字符集= UTF-8。

如果使用application/json,則必須使用JSON.stringify()才能發送JSON對象。

JSON.stringify()將javascript對象變爲json文本並將其存儲在字符串中。