感谢您分享我的头痛 - 这是短篇小说:
最近继承了一个编码不佳的WordPress网站 - 利用WP联系表7 -
我删除了所有的WP-CF代码(由于WordPress在被移交给我之前被剥离了) - 只是为了制作一个简单的补丁脚本并继续实际工作。
我用这个替换了WPCF脚本:(为了让事情变得尽可能简单):
jQuery(document).ready(function() {
$ = jQuery;
console.log("Ready");
$("#quack-button").click(function(e) {
console.log("Quack");
e.preventDefault();
e.stopPropagation();
POSTDATA = $.param($("#quack-form").serializeArray());
$.ajax({
method : "POST",
url : "http://www.domain.com/contact.php",
data : POSTDATA,
success : function(response) {
console.log(response);
alert("Thank you ! We'll get in touch as soon as we can -! ");
}
});
});
});
但是,在尝试$.param
和serialize
的许多不同形式/组合后 -
服务器端脚本继续返回一个空白数组....
print_r($_POST);
但是,当我将其更改为print_r($_REQUEST)
时 - 一切正常,很好......
现在,这种情况可能会发生什么?我错过了哪些盲点可能造成这种情况......?
这是我在一段时间内处理过的最令人困惑的事情......我感谢任何人都可以理解...
答案 0 :(得分:7)
如果您想将其发送为$_POST
,请更改此行:
method: 'POST'
到此:
type: 'POST'
根据docs,这就是设定它的方式。
键入(默认值:
'GET'
)
类型:字符串
要求的类型(“POST”或“GET”),默认为“GET”。 注意:此处也可以使用其他HTTP请求方法,例如PUT和DELETE,但并非所有浏览器都支持这些方法。