var p = JSON.stringify(parameter);
console.log(p);
$.ajax({
type: 'POST',
url: 'http://abc.com/ajax.php',
data: p,
success: function(status) {
console.log(status);
}
});
console.log(p)显示{"o_fname":"hh","o_lname":"jkhk","o_email":"uifh@bjvh.com","o_phone":"","b_name":"bmnbmbm,b","b_address":"","b_city":"","b_postal":"","b_phone":""}
但是在我的http://abc.com/ajax.php
页print_r($_POST)
中,我正在给我一个空数组Array()
答案 0 :(得分:0)
我认为问题的公园可能是在数据中:你传递了参数细节,但是在jQuery另一端的函数中,你传递的是一个参数名称,而不是别的。
尝试:
$.ajax({
type: 'POST',
url: 'http://abc.com/ajax.php',
data: {parametername:p},
success: function(status) {
console.log(status);
}
});
使用参数名称ajax.php替换参数名称。
答案 1 :(得分:0)
var p = JSON.stringify(parameter);
那是你的问题。
当你将字符串数据传递给.ajax时,它会“按原样”发送它 - 但是如果PHP接收到编码为application/x-www-form-urlencoded
的数据,那么它只会弹出$ _POST。
所以不要将您的数据转换为字符串,但直接将parameter
对象作为data
的值传递 - 然后jQuery将负责将其发送给您因此,PHP可以理解它应该用它做什么。