Clouda-team / Cloudajs

Clouda Framework - A Realtime Javascript RIA Framework For Mobile WebApp
899 stars 403 forks source link

fix bug: fetch第三方数据时发送整个json对象的post请求 #77

Closed imyelo closed 10 years ago

imyelo commented 10 years ago

当post请求的body一个json对象时,Content-type应为application/json,且不对body进行encodeURIComponent。

commit c33cdeb 可供参考 。添加了options参数json,为true时使用上述的解决方案,否则默认使用原来的方法。

tongyao commented 10 years ago

Thanks 下一版本中将会merge

imyelo commented 10 years ago

可以考虑用request模块代替doPost中的http.request呀:smile:

huang-xin commented 10 years ago

defaultOptions默认的header是:

headers: {
    'Content-Type': 'application/x-www-form-urlencoded',
    'Content-Length': postData.length
 }

如果想要改变默认的contentType, 直接在options中指定就行了, var opts = Library.objUtils.extend(true, defaultOptions, options); 代码中这句话会让你指定的headers信息覆盖掉默认值,无论Content-Typeapplication/json还是text/xml.