嵌套参数在jQuery.ajax()数据中不起作用:

时间:2018-11-01 13:38:40

标签: jquery ajax object nested

早上好,

我一直在寻找答案,但实际上并没有发现任何有效的方法,因此我终于要在这里询问,然后再拔掉其余的头发。

我基本上是在尝试模仿,就好像我使用jQuery.param()对带有数组名称的表单输入进行序列化来处理嵌套对象一样。

例如,如果输入看起来像这样

<input type="text" name="ajax_input[ajax_action]" value="get_column_settings" /><input type="text" name="ajax_input[column_name]" value="text_column" />

我认为ajax调用看起来像这样:

jQuery.ajax({
url: '/path_to_ajax.php',
data: jQuery.param({'ajax_input':{'ajax_action':'get_column_settings','column_name':'test_column'}}),
    type: 'post',
dataType: "json"}).done(function(data){alert('Success!');});

然后我假设我将像这样检索服务器上的数据:

<?php echo 'Action:'.$_POST['ajax_input']['ajax_action'].' Column Name:'.$_POST['ajax_input']['column_name'];?>

但是我收到“无法加载资源:服务器以400(错误请求)状态响应”错误

如果我将数据更改为:

data: jQuery.param({'ajax_action':'get_column_settings','column_name':'test_column'})

像这样在服务器上检索它:

<?php echo 'Action:'.$_POST['ajax_action'].' Column Name:'.$_POST['column_name'];?>

一切正常。

格式化嵌套对象的方式是否存在问题,从而导致错误的请求错误,或者该错误是由我在服务器端检索它的方式引起的?

谢谢!

0 个答案:

没有答案