我正在构建小型网络应用,我想:
最后一次行动对我来说很难。
简单示例PHP:
<?php
$array = array("name" => "James", "surname" => "Bond");
echo json_encode($array);
?>
我的HTML就像:
<script>
$(document).ready(function(){
$("#click_me").click(function(){
$.post('127.0.0.1/read_from_php/', {
my_var : $("#my_var").val()
}, function(data) {
//how to read and parse JSON from PHP here
//and put name and surname as a input value below:
$('#name').val(data);
$('#surname').val(data);
});
});
});
</script>
<input type="text" id="my_var" name="my_var" value="">
<a href="#" id="click_me">Click to read from PHP</a>
<div id="my_div">.. loading ..
<input type="text" name="name" id="name" value="name"/>
<input type="text" name="surname" id="surname" value="surname"/>
</div>
答案 0 :(得分:1)
使用JSON.parse()
将json字符串转换为对象:
<script>
$(document).ready(function(){
$("#click_me").click(function(){
$.post('127.0.0.1/read_from_php/', {
my_var : $("#my_var").val()
}, function(data) {
var person = JSON.parse(data);
$('#name').val(person.name);
$('#surname').val(person.surname);
});
});
});
</script>
或者,也许您可以更改为$.getJSON()
,因为它已经在内部处理解析。
答案 1 :(得分:0)
var obj = jQuery.parseJSON(json_data);
之后,您可以根据需要使用它。 obj.name,obj.surname
答案 2 :(得分:0)
使用PHP呈现JSON时设置正确的内容类型标题
<?php
$array = array("name" => "James", "surname" => "Bond");
header('Content-Type: application/json');
echo json_encode($array);
?>
将数据类型添加到jQuery.post
调用,它将告诉jQuery在响应中期望JSON。这应该允许您直接访问数据对象而无需任何其他解码调用,请阅读此文档以获取更多信息http://api.jquery.com/jquery.post/
<script>
$(document).ready(function(){
$("#click_me").click(function(){
$.post(
'127.0.0.1/read_from_php/',
{
my_var : $("#my_var").val()
},
function(data) {
//how to read and parse JSON from PHP here
//and put name and surname as a input value below:
$('#name').val(data.name);
$('#surname').val(data.surname);
},
'json'
);
});
});
</script>