2015-08-28 116 views
0

我试图以$ .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']变量。

回答

0

你可以尝试发送数据

{'data':JSON.stringify(form_data)} 

然后在服务器端,您会得到$_POST['data']

您可以通过使用

json_decode($_POST['data']); 

我希望这将工作转换成对象

+0

完美的作品!谢谢! – user1337604