Hai*_*ood 12 javascript jquery post object
我有一个看起来像这样的对象
var obj = {p1:true,p2:true,p3:false}
我希望尝试将此对象作为发布请求的一部分传递.
但另一方面(在PHP中)我得到的只是
[对象]
如何通过邮寄发送对象?
基本上我想要做的是
我有一个隐藏的输入,并像这样创建
<input id="obj" type="hidden" name="obj[]">
这是隐藏形式的一部分.
按下按钮时我有
$(#obj).val(obj);
$('form').submit();
Run Code Online (Sandbox Code Playgroud)
Mat*_*att 24
在提交之前,您需要将对象序列化/转换为字符串.你可以用jQuery.param()它.
$('#obj').val(jQuery.param(obj));
Run Code Online (Sandbox Code Playgroud)
T.J*_*der 12
您可以考虑使用JSON表示法将对象发送到服务器.如果在页面中包含JSON解析器/渲染器 (它现在内置在所有现代浏览器上,并且在标准模式下也是IE8),则可以将对象转换为保留其完整对象图形的字符串.大多数服务器端语言现在都可以使用JSON解析(json_decode例如,在PHP中).您可以在发送表单之前将该字符串放在隐藏的表单字段中.
这看起来像这样:
$('#obj').val(JSON.stringify(obj));
$('form').submit();
Run Code Online (Sandbox Code Playgroud)
...而你的服务器端会在表单中看到一个字符串
{ "p1" : true, "p2" : true, "p3" : false }
Run Code Online (Sandbox Code Playgroud)