$ .post向PHP发送的数据格式不正确
问题描述:
我试图以$ .POST想要的正确格式发送JavaScript对象()到PHP文件。 PHP文件不会设置任何$ _POST []变量,所以我必须以不正确的格式发送它。
JS:
$('#downloadBtn').click(function(){
var form_data = new Object();
form_data.filepath = $("#fileName").html();
$.post(
"/UpdateDownloads.php",
{ JSON.stringify(form_data) },
function(data) {
alert(data);
}
);
});
我知道发送的数据更改为“{文件路径:form_data.filepath}”将解决这个问题,但这是一个草率的补丁,因为它为我添加不改变越来越多的数据到form_data。基本上,我想知道是否有一个JS函数可以将我的Object()变量转换为一个表单,POST将接受并设置我添加到form_data Object()中的$ _POST ['filepath']变量。
答
你可以尝试发送数据
{'data':JSON.stringify(form_data)}
然后在服务器端,您会得到$_POST['data']
您可以通过使用
json_decode($_POST['data']);
我希望这将工作转换成对象
完美的作品!谢谢! – user1337604