我的html中包含以下铁质ajax元素:
<iron-ajax
id="write-tweets"
body='[{"statuses": "{{tweets}}"}]'
url="/fscall"
handle-as="json">
</iron-ajax>
我在上面的html的js文件中有这个文件:
Polymer({
is: "sample-app",
properties: {
tweets: {
type: Object,
value: [],
},
},
handleResponse(e){
console.log("_________Twitter responses aquired:_________");
this.tweets = this.tweets.concat(e.detail.response.statuses);
this.writeTweets();
},
此时,tweets
是JSON对象的数组:
现在我正尝试将其发送回node.js服务器,以便可以将其写入/保存到文件中。
writeTweets(){
let ajax = this.root.querySelector('#write-tweets');
ajax.generateRequest();
}
... //some unrelated code
我在app.js中具有以下内容:
app.get('/fscall', (req, res) => {
fs.writeFile("tweets.json", JSON.parse(req.body, null, 4), function(err) {
if (err) {
console.log(err);
}
});
});
在这里我遇到了错误,我不知道如何访问我发送的JSON,req.body
似乎是空的。如果我尝试将tweets
包装在吸气剂中,也会发生同样的情况(例如,进行{returnTweets(){ return this.tweets;},
和body='[{"statuses": "{{returnTweets()}}"}]'
。
有人可以建议我如何传递JSON并进行打印吗?
更新
确定,因此我正在通过执行
将推文绑定到请求的body
<iron-ajax
method="POST"
id="write-tweets"
body$='{"statuses": {{tweetsParsed}}}'
url="/fscall"
handle-as="json">
</iron-ajax>
tweetsParsed
是包含JSON.stringify
版推文的属性。现在,如果我检查ajax请求,它的主体中将包含推文:
但是,我仍然无法在服务器端和控制台上得到任何东西。记录request.body
返回{}
...知道为什么会这样吗?
答案 0 :(得分:0)
request.body.statuses