作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想发送一个 json 格式的字符串作为表单的隐藏字段。
我得到的数据如下:
$.getJSON(email_url,function(fb){
var pic_url = "http://graph.facebook.com/"+fb.id+"/picture";
json_details.push({name: fb.name, fbuid: fb.id, picUrl: pic_url, birthday: fb.birthday });
var manager_details = JSON.parse(json_details);
html += "<form id='new_celebration"+fb.id+"' method='post' action='/celebrations' accept-charset='UTF-8'>";
html += "<input type='hidden' id='manager' value='"+manager_details +"' name='celebration[manager_details]' />"
html += "</form>";
$('.facebookfeed').html(html);
});
但如果我以这种方式添加它,我会得到额外的“\”。
如何将 json 对象添加到请求字符串中,以便我可以将此数据与表单一起发送?
最佳答案
我相信你会想要这样做:
manager_details = escape(JSON.stringify(json_details));
...
html += "<input type='hidden' id='manager' value='"+manager_details +"' name='celebration[manager_details]' />"
JSON.stringify 将您的 JSON 对象转换为字符串。 escape()将您的值设置为作为 URL 参数发送,这是自您的 form content-type 之后会发生的情况。未设置为多部分/表单数据;这也将删除您所指的“\”。
关于javascript - 如何将 json 对象添加到请求字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8410207/
我是一名优秀的程序员,十分优秀!