Ajax post 如何传递json格式的参数

Hw2822517 2015-05-14 05:05:45
代码如下:
var json = '{"Action":"Query"}';
// var body = "Action='Query'";//(可以传递)
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState == 4) {
var result = eval("(" + httpRequest.responseText + ")");
}
}
httpRequest.open("POST", "JsonDemo.aspx", true);
httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
httpRequest.send(json);
用“=”的这种方式传递的参数,后台能获取到,但是json,就不行,求哪位大哥帮忙解惑。。。
...全文
2769 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Gemini_Kanon 2019-06-05
  • 打赏
  • 举报
回复
用JSON.stringify()转一下
木得未来 2019-06-04
  • 打赏
  • 举报
回复
希望能帮助到笔者掌握并解决这方面的问题。
木得未来 2019-06-04
  • 打赏
  • 举报
回复

httpRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
这段代码是传递json数据的关键。 传递json数据应该保证两点: 1.头部添加Content-Type 属性,并且值为application/json;charset=UTF-8; 2.参数必须是json字符串,当然 类似的: “1” 这也是json字符串。具体详解可以去json官网去学习一下json数据http://www.json.org/ 详解
木得未来 2019-06-04
  • 打赏
  • 举报
回复
如果真的想传递json的话 。httpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); 这个头需要更改 httpRequest.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); 然后参数传递json字符串就可以了。
于大圣 2015-06-01
  • 打赏
  • 举报
回复
在js里,调用JSON.stringify(json对象),将json对象,转化为字符串,这样一来就可以传递到客户端了吧,然后如果是java的话,调用JSONObject jsonObject = new JSONObject(json字符串);然后就可以正常操作了,手写ajax处理的话确实麻烦一下
robin-lee 2015-05-26
  • 打赏
  • 举报
回复
请把JSON格式的数据用encodeURI()转一下
slwsss 2015-05-14
  • 打赏
  • 举报
回复
转成“=”的形式再发送

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧