我通过AJAX Post从jquery发送数据,所有表单字段都是序列化的(在WordPress中)。
$('#SendEmail').click(function () {
jQuery.post(
the_ajax_script.ajaxurl,
{
'action': 'the_ajax_hook_SendEmailWithCalculatorContent',
'calculatorFormContent': $("#CalculatorForm input").serialize()
},
function (response_from_the_action_function) {
$("#G1").val(response_from_the_action_function);
}
);
});
以下是来自firebug POST的帖子参数:
action the_ajax_hook_SendEmailWithCalculatorContent
calculatorFormContent ZIPCodeTextBox=01915&G1=PhoneNumber+%3A++ZipCode+%3A+&G2=&G3=&G4=&G5=&G6=&G7=&G8=&G9=&G10=&G11=&G12=&G13=&G14=&G15=&G16=&G17=&G18=&G19=&G20=&G21=&G22=&G23=&G24=&G25=&G26=&G27=&fullname=&email=&phone=7324211531
当我尝试访问这些参数时,需要在PHP中访问这些参数
echo "PhoneNumber : ".$_POST['phone']." ZipCode : ".$_POST['ZIPCodeTextBox']." IndexValue : ".$_POST['0'];
我得到输出为“PhoneNumber:ZipCode:IndexValue:”,因此所有表单数据都是空白。
当我尝试:
echo $_POST;
我看到价值“数组”遇到了。 如何访问数组值?
通过使用参数名称在这里看到多个帖子,可以从$ _POST ['name']获取数据。 (相似链接:jQuery AJAX form data serialize using PHP) 但显然它不适用于我的情况。
答案 0 :(得分:0)
如果'calculatorFormContent': JSON.stringify($("#CalculatorForm input").serializeArray())
然后在PHP脚本中使用$array = json_decode($_POST['calculatorFormContent'], true);
稍后使用$array['phone']
访问它。