2014-11-03 59 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