Can';t使用jQuery序列化的PHP post变量进行检索

Can';t使用jQuery序列化的PHP post变量进行检索,jquery,ajax,wordpress,post,Jquery,Ajax,Wordpress,Post,在使用jQuery通过Ajax提交表单并将其序列化后,我很难用PHP检索post变量。这是我的密码: JS(main.JS) PHP(functions.PHP) 有什么建议吗?要从粘贴的结构中检索值: parse_str($_POST['data'], $temp) // Now you can access those vars on $temp echo $temp['form_last_name']; echo $temp['form_first_name']; 按如下方式操作: v

在使用jQuery通过Ajax提交表单并将其序列化后,我很难用PHP检索post变量。这是我的密码:

JS(main.JS)

PHP(functions.PHP)


有什么建议吗?

要从粘贴的结构中检索值:

parse_str($_POST['data'], $temp)

// Now you can access those vars on $temp
echo $temp['form_last_name'];
echo $temp['form_first_name'];
按如下方式操作:

var data = { action: 'send_message' },
$form = $(this);
$.each( $form.serializeArray(), function () {
    data[ this.name ] = this.value;
} );

$.ajax( {
    ...
    data: JSON.stringify(data),
    ...
} )
请注意,您正在尝试访问一个字段
$\u POST['form\u last\u name']
,该字段实际上位于您的POST
$\u POST['data']
字段的查询字符串中


查看php方法并仔细查看您收到的
$\u POST
数据。

我将这样解决:


然后您可以通过php访问变量,如
$\u POST['action']
$\u POST['form\u last\u name']

谢谢,但使用您的代码我会收到一个“400(坏请求)”错误谢谢,它确实有效,但这是完成整个任务的正确方法吗?在我看来,这有点骇人,你怎么看?在你看来,什么是骇人?我只是向您展示了如何解码包含查询字符串的post字段,正如我看到的
$\u post['form\u last\u name']
Array ( [action] => send_message [data] => form_last_name=Johnson&form_first_name=David&form_email=djohnson%40hotmail.com&form_subject=&form_telephone=01110259923&form_code_postal=C11+3HR&form_message=test [some_variable] => some_value )
Array ( 
  [action] => send_message 
  [data] => form_last_name=Johnson&form_first_name=David&form_email=djohnson%40hotmail.com&form_subject=&form_telephone=01110259923&form_code_postal=C11+3HR&form_message=test 
  [some_variable] => some_value 
)
parse_str($_POST['data'], $temp)

// Now you can access those vars on $temp
echo $temp['form_last_name'];
echo $temp['form_first_name'];
var data = { action: 'send_message' },
$form = $(this);
$.each( $form.serializeArray(), function () {
    data[ this.name ] = this.value;
} );

$.ajax( {
    ...
    data: JSON.stringify(data),
    ...
} )