CNode

nodejs如何跨域请求?带参,是用http.request(options, callback) 吗?

Ssultra发布于14 年前最后回复9 年前8 回复19325 浏览0 收藏

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

查看回复

回复 (8)

S
ShawLyon#1·9 年前

楼主

Z
ZhiRuYan#2·9 年前

cors

S
ShawLyon#3·9 年前

牛逼

J
jiyinyiyong#4·14 年前

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

A
a272121742#5·14 年前

jsonp

G
gaochongid#6·14 年前

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

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

A
allenm#7·14 年前

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

S
sultra#8·14 年前

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

参与回复
登录后即可参与回复。登录