簡體   English   中英

無法使用Polymer的core-ajax執行POST請求

[英]Can't do POST requests with Polymer's core-ajax

這就是我所擁有的:

 Polymer('my-element', { created: function() { this.data = { name: 'John Doe', email: 'john@doe.com' }; }, handleResponse: function(e, d) { console.log(d.response); } }); 
 <core-ajax id="ajax" auto url="/test" method="POST" handleAs="json" body="{{data}}" on-core-response="{{handleResponse"}}> </core-ajax> 

我設置了一個服務器,以便在用戶發布到/ test時返回POST消息的正文。

app.post('/test', function(req, res) {
    res.json(req.body);
}

但是,這是我在控制台上得到的響應:

對象{object Object:“”}

看起來core-ajax在this.data准備就緒之前執行AJAX調用。

嘗試'manuel'AJAX請求啟動,即ajax.go()在內部執行此操作:

 created: function() {
    this.data = {
       name: 'John Doe',
       email: 'john@doe.com'
     }; 
    var respuesta = this.$.ajax;
    console.log(respuesta);
    respuesta.go();
},

樣例

要使用post獲取的所有數據,必須使用params屬性而不是body屬性發送。

這會使您的核心ajax標簽看起來像

<core-ajax
       id="ajax"
       auto
       url="/test"
       method="POST"
       handleAs="json"
       params="{{data}}"
       on-core-response="{{handleResponse"}}>
</core-ajax>

這將允許您像在節點中一樣捕獲數據

app.post('/test', function(req, res) {
  res.json(req.body);
}

這是一個令人困惑的原因,因為在節點中您將參數視為獲取數據,將主體視為發布數據,但這與核心ajax無關。 所有獲取或發布的數據都使用params屬性發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM