我正在使用闭包库来执行简单的POST。我认为XhrIo应该可以工作,因为当我使用任何其他休息客户端(例如Firefox浏览器应用程序RESTClient或Chrome的简单休息客户端)时,我的计算机可以向服务器发送POST请求,而内容类型是application/json。更改内容类型时,HTTP方法从POST更改为选项
但是从我的申请我无法发表帖子。 我使用下面的代码
xhr = new goog.net.XhrIo;
xhr.send('http://myhost:8181/customer/add','POST', goog.json.serialize(data));
如果我离开的头默认情况下,我得到这个
Encoding: UTF-8 Http-Method: POST Content-Type: application/x-www-form-urlencoded;charset=UTF-8
如果我试图通过传递{'content-type':'application/json'}
作为第四个参数更改标题,标题更改为
Http-Method:选项
内容类型:
不应该能够使用Closure库正确地更改标题,就像RESTClient使用JQuery对XMLHttpRequest所做的一样?
还有别的方法可以标题进行修改,以使它看起来像这样
Encoding: UTF-8 Http-Method: POST Content-Type: application/json;charset=UTF-8
感谢所有帮助 埃迪
感谢Achal,这是有用的信息。只是想知道RESTClient(http://code.google.com/p/restclient/source/browse/extension/chrome/content/restclient.js)如何设法做到这一点?是否因为他们传递了这个passwordObject:null? – Eddie 2012-07-07 21:17:31
老实说,我不太清楚。你有什么问题? “OPTIONS”请求被拒绝了吗?如果是这样,你收到什么HTTP代码? – 2012-07-08 22:38:07
@AchalDave当POST自动转换为OPTIONS时,内容长度即将到达0 – 1Mayur 2012-10-08 12:35:02