数据表发布请求参数不起作用

Sas*_*a J 10 javascript ajax jquery ruby-on-rails angularjs

我是AngularJS和DataTables的新手.我正在使用AngularJS前端和Rails后端进行项目.

我正在尝试使用AJAX POST方法在我的项目中使用DataTables,但DataTable AJAX POST方法正在发送数据参数常量.

当我使用正常的AJAX POST请求时它工作正常.我不知道为什么DataTables POST AJAX不起作用.

请帮我解决这个问题.

在AngularJS中使用AJAX调用

$.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"
 });
Run Code Online (Sandbox Code Playgroud)

这段代码是AJAX POST.

它给出了正确的成功响应.

DataTables 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: [
     {}]
};
Run Code Online (Sandbox Code Playgroud)

它在服务器端抛出以下错误.我的代码中有错误吗?

解析请求参数时发生错误.

内容:

0 =%7B&1 =%22&2 = s&3 = t&4 = a&5 = n&6 = d&7 = a&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 = a&37 = r&38 =%22&39 =%3A&40 = 2&41 = 0&42 = 1&43 = 6 44%2C&45 =%22 46 = M&47 = O 48 = N&49 = T&50 = H&51 =%22 52 =%3A和53 = 2&54%2C&55 =%22 56 = d&57 = A&58 = T&59 = E&60 =%22 61 =%3A和62 = 1&63 = 8&64 = %7D

即使我使用processData:false选项,它仍然会在服务器端抛出以下错误.

解析请求参数时发生错误.

内容:

[对象]

请帮我解决这个问题.

小智 0

尝试删除 JSON.stringify。数据表或ajax在内部处理JSON解析/字符串化。