[英]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.