[英]how to parsing data json from javascript to php
我想將javascript的json解析為php,這是我的javascript代碼
var Dataconvert;
var asetid = new Array();
$("#simpanmodifikasi").click(function(){
var table = $('#tableasal tbody');
table.find('tr').each(function (row, input) {
// var coba = $(this).find('input'),
// asetid = coba.eq(0).val();
asetid[row] = {
"asetid" : $(this).find('input:eq(0)').val(),
"namabarang" : $(this).find('input:eq(1)').val(),
}
Dataconvert = $.toJSON(asetid);
$.ajax({
url:"<?php echo site_url('fixed/modification/tes');?>",
type:"POST",
data:Dataconvert,
dataType : 'json',
cache : false,
success:function(html){
alert(html);
}
})
});
})
如何在php中解析此json ??,我是javascript和json的新手,感謝您的幫助
首先 ,您需要將$.toJSON(asetid)
更改$.toJSON(asetid)
JSON.stringify(asetid)
。 但是,如果仍然要使用$.toJSON(asetid)
,則需要在頁面上包含來自http://code.google.com/p/jquery-json/的jquery-json
插件。
其次 ,我認為ajax請求部分應該放在迭代器函數之外,否則,您將對表的每一行進行ajax請求。 這是修改后的代碼:
var Dataconvert; var asetid = new Array(); $("#simpanmodifikasi").click(function(){ var table = $('#tableasal tbody'); table.find('tr').each(function (row, input) { // var coba = $(this).find('input'), // asetid = coba.eq(0).val(); asetid[row] = { "asetid" : $(this).find('input:eq(0)').val(), "namabarang" : $(this).find('input:eq(1)').val(), } }); //these should be outside the 'each' iterator Dataconvert = JSON.stringify(asetid); $.ajax({ url:"<?php echo site_url('fixed/modification/tes');?>", type:"POST", data:Dataconvert, dataType : 'json', cache : false, success:function(html){ alert(html); } }) })
第三 ,現在是您問題的答案。 ajax請求將在POST正文中發送字符串化的JSON。 例:
[{"asetid":"10","namabarang":"Buku"},{"asetid":"30","namabarang":"Laptop"}]
要從PHP端讀取它( fixed/modification/tes
腳本),可以從標准輸入中手動讀取它,並使用json_decode
對其進行json_decode
。
<?php
$data = json_decode(file_get_contents('php://input'), true);
print_r($data);
?>
這將導致如下所示:
Array
(
[0] => Array
(
[asetid] => 10
[namabarang] => Buku
)
[1] => Array
(
[asetid] => 30
[namabarang] => Laptop
)
)
試試這個會有所幫助:
$data = json_decode(file_get_contents('php://input');
json_decode
采用JSON編碼的字符串,並將其轉換為PHP變量。
現在您可以像這樣訪問變量。
$firstVariable = $data -> var1;
$secondVariable = $data -> var2;
.....
.....
.....
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.