【发布时间】:2021-04-20 20:02:24
【问题描述】:
我在单独的页面中尝试了 ajax 调用,它工作正常,但通过 jQuery 数据表我没有得到响应。
API 在 AWS 中。我尝试了使用密钥的 API 端点。
问题是在 jQuery 数据表中尝试 ajax 请求时,请求有效负载未正确发送,它显示加密数据并且也不返回任何响应。
示例代码如下:
var dataListNew = { "fromDate": "2021-01-01", "toDate": "2021-01-14"};
$('#co-table').DataTable({
//"scrollY": "400px",
dom: 'Bfrtip',
buttons: [
{
extend: 'copyHtml5',
text: '<i class="fa fa-files-o"></i>',
titleAttr: 'Copy'
},
{
extend: 'excelHtml5',
text: '<i class="fa fa-file-excel-o"></i>',
titleAttr: 'Excel'
},
{
extend: 'csvHtml5',
text: '<i class="fa fa-file-text-o"></i>',
titleAttr: 'CSV'
},
{
extend: 'pdfHtml5',
orientation: 'landscape',
//pageSize: 'LEGAL',
text: '<i class="fa fa-file-pdf-o"></i>',
titleAttr: 'PDF'
},
{
extend: 'print',
text: '<i class="fa fa-print"></i>',
titleAttr: 'Print'
}
],
"ajax": {
url : applicationApiEndPoint+page,
method : "POST",
dataType : "json",
data : JSON.stringify(dataListNew)
headers : {
"authorizationToken": authorizationToken,
"Cache-Control" : "no-cache, no-store",
"Content-Type" : "application/json; charset=utf-8",
"x-api-key" : applicationApiKey,
"sciappID" : appID,
"sciappuserID" : userID
}
},
"columns": [
{ "data": "PROCESSDATE" },
{ "data": "MODELNAME" },
{ "data": "MODELSTARTTIME",
render: function (data, type, row)
{....
[请求有效负载][看起来完全加密]
【问题讨论】:
-
您提到您遇到错误 - 错误是什么?你能edit你的问题吗?
-
我提到了确切的问题,请检查。
-
请求负载发送不正确 - 你没有告诉我们
dataListNew数据来自哪里。从原版问题看这个:0={&1="&2=f&3=r&4=o&5=m&6=D&7=a&...,这不是加密数据。它是 HTML 表单数据,从看起来像一个字符数组的地方变成了 URL encoded。如果您对其进行 URL 解码,您可以看到数据中的文本:{"fromDate":"2021-01-01","toDate":"2021-01-15"...。我不知道你是如何做到这一点的 - 但我会先仔细看看data : JSON.stringify(dataListNew)。 -
是的,只有我在 dataListNew 变量中发送 fromDate 和 toDate json 对象..我尝试过 postman 以及它的工作正常但是当尝试在 jquery 数据表中它的发送请求有效负载作为 url 编码。例如:看下面的请求负载 var dataListNew = { "fromDate": "2019-03-01", "toDate": "2019-03-01"};
-
明白 - 但正如我所提到的,您没有向我们展示
dataListNew数据的来源。
标签: javascript php jquery datatables