nodejs如何跨域请求?带参,是用http.request(options, callback) 吗?
发布于 12 年前 作者 sultra 18669 次浏览 最后一次编辑是 8 年前

手头有个需求,是需要nodejs带参数发一个请求到另一台服务器上。看了本站的中文文档中,http.request(options, callback)的说明,上面说可以“/index.html?page=12” 这么传递,虽然这个可以,不过是不是太原始了?!不够模块化,有没有更好的传递参数的方法呢? 对于文档中“req.write(‘data\n’)” 这个是带参数的吗?文档中没写,自己试验没成功!

8 回复

记得上次有一帖也说这个, HTTP 请求的模块看看这个 https://github.com/visionmedia/superagent

http.request(options, callback) options是构建请求的必要参数 callback是请求成功后执行的回调函数 是没有域的限制的。

可以使用POST的方式传递数据req.write()就是向POST请求中写入传递的参数。 参见:http://nodejs.org/api/http.html#http_http_request_options_callback

在服务器端是没有跨域限制的。

看过文档渐渐明白了,req.write()的确是传递的参数,但是光写上这个是不够的,必须在options中加上 headers:{'Content-Type':'application/json','Content-Length': data.length} 如果数据是 querystring 格式则 'Content-Type':'application/x-www-form-urlencoded'

回到顶部