2015-06-01 144 views
8

我想通過在聚合物0.5中工作的php腳本獲取數據。 我剛剛在Polymer 1.0中得到了空響應並沒有錯誤,下面是代碼。 我試圖修改PHP來回應任何事情,但我沒有得到任何迴應。 hresponse做了反應,但是那時候只有請求信息在ajax中,響應信息爲空。 我找不到一個示例來查看我出錯的地方。 感謝聚合物1.0鐵-Ajax

<iron-ajax 
     id="ajax" 
     url="" 
     params="" 
     handle-as="json" 
     on-response="hresponse" 
     debounce-duration="300"> 
</iron-ajax> 

and the script 

setajax: function(){ 
    this.$.ajax.url = "Scripts/getnotes.php"; 
    this.$.ajax.params='{"SN":"VBA056"}'; 
    this.$.ajax.generateRequest(); 
} 

hresponse: function(e) { 
     console.log(e.detail.response); 
     console.log(this.$.ajax.lastResponse); 
} 

回答

0

我第1次應答和新手到編程,所以它是不完全正確的。但是,它可以幫助你

沒有在https://elements.polymer-project.org/elements/iron-ajax

提供財產on-response按照文件在您iron-ajax已被修改,我也是一個新手,所以我不知道,如果它的工作原理,但值得一試。

<iron-ajax 
     auto 
     url="" 
     params="" 
     handleAs="json" 
     lastResponse="hresponse" 
     method='GET'> 
</iron-ajax> 

另外我想知道你的腳本是否可以像這樣工作。

+2

聚合物元件屬性從駝峯自動更改爲連字符連接-小寫屬性(如V1.0.0的)。 –

+2

「hresponse」應該是「{{hresponse}}」以啓用綁定 –

+0

'iron-ajax'具有on-response屬性,因此它是有效的。 'lastResponse'是隻讀的並且接受一個不是函數的字符串。無論您給它的字符串是在模板中調用數據時使用的字符串。因此,如果您執行'lastResponse:item',您現在可以在標記中調用{{item}}來訪問數據 - 假設您的ajax響應是正確的類型,並且不需要進行解析。 – shortdiv

25

當您在腳本中添加this.$.ajax.params=時,它應該是一個對象。當您查看生成請求的iron-ajax.html中的位置時,您會看到爲什麼會出現這種情況。您目前將其作爲字符串添加。嘗試將行設置爲this.$.ajax.params={"SN":"VBA056"},它應該可以工作。

以下示例適用(假設要導入所需的所有元素):

<body> 
<my-app></my-app> 
<dom-module id="my-app"> 
<style> 
</style> 
<template> 

    <iron-ajax 
     id="ajax" 
     url="" 
     handle-as="json" 
     on-response="hresponse" 
     debounce-duration="300"> 
    </iron-ajax> 

    <button on-click="setajax">Click me</button> 

</template> 
<script> 
Polymer({ 
    is: "my-app", 
    setajax: function() { 
    this.$.ajax.url = "http://jsonplaceholder.typicode.com/posts"; 
    this.$.ajax.params = {"userId":"1"}; 
    this.$.ajax.generateRequest(); 
    }, 
    hresponse: function(request) { 
    console.log(request.detail.response); 
    console.log(this.$.ajax.lastResponse); 
    } 
}); 
</script> 
</dom-module> 
</body> 
+1

就是這樣,謝謝你,從0.5版本開始已經改變了,我沒有注意到參數已經改變了。現在再次感謝 – user2148935