[英]Polymer send array to server using post method
我想向服務器發送一些int數組,但現在不知道如何實現。 我也嘗試使用core-ajax,但我也了解聚合物-ajax,但已棄用該元素。
我做了這樣的事情:
<template>
<paper-fab on-tap="{{sendMethod}}"></paper-fab>
<core-ajax id="post_ajax"
...some attr...
body={"some_array":"{{some_array}}"}
>
</core-ajax>
</template>
<script>
Polymer('el-name',{
ready: function(){
this.some_array = [];
},
sendMethod: function(){
this.$.post_ajax.go();
},
someMeth: function(){
this.some_array = data;
}
});
</script>
但是數據不能豐富服務器。 當我看調試時,我發現體內沒有檢測到該數組,但是我嘗試僅獲取一個值:
body={"some_array":"{{some_array[0]}}"}
檢測到值,但服務器未獲取值。
我看到我沒有使用表格,但似乎不需要表格,或者我錯了。
更新:
經過一些測試,我發現了一些有趣的東西。 如果我使用BODY數據而不是富服務器,但是如果我使用PARAMS數據是富服務器。 它適用於簡單的數字值,但是當我嘗試發送數組時,core-ajax在日志中顯示錯誤消息。 它說參數無法理解簡單數組。 我認為數組需要轉換為json。 我嘗試使用stringfy,但是它不起作用。 可能我做錯了嗎? 我有數組組成的簡單數字。 我的服務器端也使用PHP。
嘗試將JSON.stringify(obj)轉換為正文內容。
<core-ajax id="ajax"
method="POST"
contentType='application/json'
url="..."
body='{{ajaxbody}}'
handleAs="json" response="{{resp}}">
</core-ajax>
....
Polymer('x-elem', {
ajaxbody:'',
pobj:{foo:100,data:{x:200,y:120}},
sendMethod: function(){
this.ajaxbody = JSON.stringify(this.pobj);
this.$.ajax.go();
}
});
jsbin示例http://jsbin.com/vojuz/
如果數據顯示在chrome開發控制台(或任何開發控制台)的請求正文中,則您的錯誤是服務器端。 如果使用php,則可以使用此命令捕獲請求正文。
<?php $request_body = file_get_contents('php://input'); ?>
如果使用另一種語言,我不能幫助您。 我在創建聚合物表格並將數據發送到數據庫進行存儲時遇到問題。 這是該帖子,它可能會對您有所幫助。 使用紙張輸入和芯軸的聚合物形式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.