gpt4 book ai didi

jquery - 使用 DataTables Ajax 将数据发布到 php Controller

转载 作者:行者123 更新时间:2023-12-01 04:42:03 24 4
gpt4 key购买 nike

我正在尝试使用 Jquery 的 DataTables 库将一些简单的数据 POST 到作为 SQL 查询的 Controller 。该查询将返回 JSON,我将继续我的快乐之路,然后对数据执行我将执行的操作。

使用内置 jquery AJAX 时,我没有遇到任何问题。这是工作代码:

$.post('/rx/dostuff', {fromDate: from_date, toDate: to_date}, function(data){                
var dataObject = JSON.parse(data);
if(data !== "[]"){
$("#display_area").empty();
$("#display_area").append("<div> " + ...

blah blah blah

所以这很好用,我发布了 from_date 和 to_date,并且我可以在“网络参数”选项卡中看到它正在发送为

fromDate: 02/01/2016
toDate: 02/24/2016

我的 PHP Controller 接收到它,我进行了一些语句绑定(bind)以确保其安全,然后,我的结果以 JSON 编码返回给我。

当我尝试使用 DataTables 库执行此操作时,我的参数最终会像这样发送:

fromDate=02%2F01%2F2016&toDate=02%2F24%2F2016

PHP 引发了 hell ,并发出警告,指出我缺少 Controller 的参数 1。

我的问题是,为什么 DataTables 会这样发送参数?我是否改变了发送方式?

这是我的 DataTables AJAX 代码:

$('#dataTable').DataTable({
ajax: {
url: "/rx/dostuff",
type: "POST",
contentType: "application/json",
data: {
"fromDate": from_date,
"toDate": to_date
}
},
columns: [
{ data: 'col'},
{ data: 'col'},
{ data: 'col'},
{ data: 'col'}
]
});

非常感谢任何帮助!

最佳答案

删除contentType:“application/json”

该参数定义了向服务器发送数据时的格式。默认值为“application/x-www-form-urlencoded; charset=UTF-8”,根据您之前使用 $.post() 的内容,它应该适合您。

参见$.ajax()了解更多信息。

关于jquery - 使用 DataTables Ajax 将数据发布到 php Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35608368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com