我将一些数据从我的ReactJS客户端发布到Express服务器,但似乎我无法访问req.body中的数据....我以这种方式发送JSON对象:< / p>
var url = 'http://localhost:8000/scrape/';
const {main} = getState()
const info = { name : main.title, items : main.list}
var options = {
url: url,
method: 'POST',
body : JSON.stringify(info),
json: true,
headers : {
'Content-Type': 'application/x-www-form-urlencoded'
}
};
Request(options, (error, response, data) => {
// !error ? dispatch( setSearchResults(JSON.parse(data) ) ) : dispatch( setError(error) );
});
当我在Express中使用console.log(req.body)时,我会收到:
{ '{"name":"test","items":': { '{"url":"test","code":"ING"},{"url":"test","code":"KIN"},{"url":"test","code":"GAO"}': '' } }
在我的Express中我使用bodyParser
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
我尝试过使用JSON.stringify(req.body)和JSON.parse(req.body),但两者都没有成功,有什么建议吗?
答案 0 :(得分:0)
这是解决方案: How to allow CORS?
这就是我如何制作正确的JSON请求:
var options = {
uri: url,
method: 'POST',
json: {
"name": main.tile, "items" : main.list
}
};
Request(options, (error, response, data) => {
});