2014-11-03 22 views
1

我試圖將嵌套對象傳遞給Polymer core-ajax。下面是代碼:在Polymer core-ajax中傳遞嵌套對象

<core-ajax url="DSPUser1.php" method="POST" on-core-response="{{responseventDSPUser}}" params='{"userID":"Anon", "transactionType":"DSPUser", "payload":{"id":"1"}}' handleAs="json" id="transactionDSPUser" response="{{msgout}}">`` 

當我看到在Chrome工具,我看到在表單數據下面的POST:

userID:Anon 
transactionType:DSPUser 
payload:[object Object] 

看起來好像核心AJAX不處理嵌套的對象。

這是功能還是錯誤?

我應該使用身體而不是params?

無論有沒有辦法使用core-ajax傳遞嵌套對象?

PS當我使用JQuery $ .POST瀏覽器顯示錶單數據下的類似要求

transactionType:DSPUSER 
userdID:Anonymous 
securityToken: 
payload[iD]:1 
+0

你解決了嗎? – Ted 2014-12-30 18:44:51

+0

@ted是的,我結束了傳遞json對象作爲字符串使用正文,然後解析另一邊的字符串。你可以通過這種方式處理嵌套對象。例如,請參閱:https://github.com/Will-in-BC/aaa-jsoncrud-interface.git,它也有一個在php中解析字符串的例子。 – 2014-12-31 19:16:54

+0

是的,我想我最終也做了同樣的事情。 jQuery有一個很好的方法來「構建」一個JSON,但是我不把它當作POST,但是作爲一個URL編碼的東西,我不想要... – Ted 2015-01-03 11:41:11

回答

0

如果林沒有錯,則params被轉換成的queryString。對於POST操作,您應該使用body來代替。

+0

當我使用body時,json作爲一個字符串傳遞而不是解析。我試圖產生與JQuery相同的結果(請參閱我的問題中的PS),因爲我有一個共同的後端。 – 2014-11-03 19:57:46

+0

我明白了...這似乎是一個已知的錯誤 - > https://github.com/Polymer/core-ajax/issues/37 – sesteva 2014-11-03 20:11:53