2016-01-20 67 views
8

我是AngularJS和DataTables的新手。我正在使用AngularJS前端和Rails後端工作。數據表發佈請求參數不起作用

我想在我的項目中使用AJAX POST方法使用DataTables,但DataTable AJAX POST方法發送數據params常量。

當我使用正常的AJAX POST請求時,它工作正常。我不知道爲什麼DataTables POST AJAX不起作用。

請幫我解決這個問題。

使用AJAX調用在AngularJS

$.ajax({ 
    data: JSON.stringify({ 
     "key1": "value1", 
     "key2": "value2" 
    }), 
    headers: "application/json; charset=utf-8", 
    success: function(data){ 
     console.log(data); 
    }, 
    error: function(){ 
     console.log("error"); 
    }, 
    type: "POST", 
    url: "http://localhost:3000/api" 
}); 

此代碼AJAX POST。

它給出了正確的成功響應。

數據表POST請求

$scope.studentList = { 
    bFilter: false, 
    paging: false, 
    bRetrieve : true, 
    ajax: { 
     data: JSON.stringify({ 
     "key1": "value1", 
     "key2": "value2" 
    }), 
    headers: "application/json; charset=utf-8", 
    success: function(data){ 
     console.log(data); 
    }, 
    error: function(){ 
     console.log("error"); 
    }, 
    type: "POST", 
    url: "http://localhost:3000/api" 
    processData: false, 
}, 
columns: [ 
    {}] 
}; 

它輕視服務器側下面的錯誤。我的代碼中有任何錯誤嗎?

解析請求參數時發生錯誤。

內容:

0 =%7B & 1 =%22 & 2 = S & 3 = T & 4 =一個& 5 = N & 6 = d & 7 =一個& 8 = R & 9 = d & 10 = & 11 = I & 12 = d 13 & =%22 & 14 =%3A & 15 = 4 & 16 = 0 17 & =%2C & 18 =%22 & 19 = S & 20 = E & 21 = C & 22 = T & 23 = I & 24 = O & 25 = N & 26 = & 27 = I & 28 = d & 29 =%22 & 30 =%3A & 31 = 8 & 32%2C & 33 =%22 & 34 = Y & 35 = E & 36 =一個& 37 = R & 38 =%22 & 39 =%3A & 40 = 2 & 41 = 0 & 42 = 1 & 43 = 6 & 44%2C & 45 =%22 & 46 =米& 47 = O & 48 = N & 49 = T & 50 = H & 51 =%22 & 52 =%3A & 53 = 2 & 54 %2C & 55 =%22 & 56 = d & 57 =一個& 58 = T & 59 = E & 60 =%22 & 61 =%3A & 62 = 1 & 63 = 8 & 64 =%7D

即使我正在使用processData:false選項它仍會在服務器端引發以下錯誤。

解析請求參數時發生錯誤。

內容:

[目標對象]

請幫我解決這個問題。

回答

0

嘗試刪除JSON.stringify。數據表或ajax在內部處理JSON解析/字符串化。

+0

你從哪裏挖掘出這個問題? :) - 張貼'11個月前':) – Aleks

+0

我的回答對你有幫助嗎? –

+0

我剛剛在'active'隊列中看到了這個問題。我本人沒有遇到這個問題。 – Aleks