我是jQuery的新手.我尝试从中获取数据时出错fileresult.php.
fileresult.php
$return_arr = array();
$row_array['status'] = 'Ok';
$row_array['message'] = 'good'
array_push($return_arr, $row_array);
echo json_encode($return_arr);
Run Code Online (Sandbox Code Playgroud)
JSON输出
[{"date":"2014-03-15","status":"ok","message":"good"}]
Run Code Online (Sandbox Code Playgroud)
get_result.js
$.post('file.php', $("form").serialize(), function(data) {
var status = data['status'];
alert(status);
});
Run Code Online (Sandbox Code Playgroud)
当我提醒数据时,它显示undefined.有人请帮帮我.如何显示正确的数据.
你有两个问题.
PHP默认声称其输出是HTML.jQuery将看到这个声明,并将其视为如此,而不是将其解析为JSON.
覆盖PHP的默认值:
header("Content-Type: application/json");
Run Code Online (Sandbox Code Playgroud)
您正在访问,data.status但您输出的顶级数据结构是一个数组,因此您需要data[0].status使用该数据.
你没有多个对象,所以(除非你打算将来添加更多),返回会更有意义
{"date":"2014-03-15","status":"ok","message":"good"}
Run Code Online (Sandbox Code Playgroud)
代替
[{"date":"2014-03-15","status":"ok","message":"good"}]
Run Code Online (Sandbox Code Playgroud)
所以删除所有要做的事情$return_arr:
echo json_encode($row_array);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2467 次 |
| 最近记录: |