是否可以通过Javascript设置HTTP POST请求正文消息?

时间:2011-02-28 07:57:58

标签: javascript http-post

我正在构建REST Web应用程序,而我的服务器端Java代码期望请求主体具有纯JSON字符串。 我的目标是使用常规HTTP POST方法(而不是ajax)并将JSON设置为请求正文消息。

如果我使用ajax,那很简单。类似的东西:

var jsonInput = '{"foo":"bar"}';
ajaxRequest.setRequestHeader("Content-Type", "application/json");
ajaxRequest.send(jsonInput)

但我想使用常规的HTTP POST。

查看下面的主题,答案是创建一个带有隐藏输入字段的表单,并将JSON放入输入字段,并让服务器端代码处理其余字段。

JavaScript post request like a form submit

我试过了,它运行得很好但是我真的不得不费心去创建新的表单和输入字段来完成这个吗?或者还有其他方法吗?

注意:我不想使用JQuery或Prototype框架。只是简单的Javascript。

1 个答案:

答案 0 :(得分:1)

FORMs只允许提交名称 - 值对,因此您的JSON需要插入到这样的一对中。

Yout可以在w3.org <{3}}

作为一个解决方案,如何使用xhr将数据发送到服务器,将其交换为某些令牌,然后通过常规GET将用户定向到传递令牌的URL?

这也适合REST范例。