Javascript handling JSON
Javascript handling JSON
这看起来真的很奇怪...
我有一些JSON...
{"firstName":"David","lastName":"Smith","email":null,"id":0}
但是当我尝试解析它并将其与...
<script>
$(document).ready(function() {
var json = $.getJSON('userManagement/getUser');
$("p").text(json.firstName);
});
</script>
This is the user management view
Users : <p></p>
什么都没有出现,但是如果我只是做$("p").text(json);它告诉我它是一个对象,我可以看到JSON在Firebug中是正确的,有什么想法吗?
尝试:
<script>
$(document).ready(function() {
$.getJSON('userManagement/getUser',function(json){
$("p").text(json.firstName);
});
});
</script>
您必须在 AJAX 请求完成后使用 json
变量。
在此处了解有关 AJAX JSON 请求的更多信息:http://api.jquery.com/jQuery.getJSON/
在此处了解有关常规 AJAX 请求的更多信息:http://api.jquery.com/jQuery.ajax/
$.getJSON()
函数只是 AJAX 调用的包装器;它不返回作为 AJAX 调用结果而获得的 JSON,而是返回一个 jqXHR 对象(感谢 Mathletics 澄清这一点)。
您需要提供一个回调函数来执行所需的 JSON 处理。
$.getJSON()
是异步的 - 它不返回 JSON。
您需要提供回调函数,使用:
$.getJSON(url, callback);
或
var jqxhr = $.getJSON(url);
jqxhr.done(success_callback); // will be passed the JSON
jqxhr.fail(error_callback); // will be called if there's an error
后者更灵活,因为您还可以注册原始$.getJSON
方法不支持的错误回调。
您需要使用回调函数,因为您以异步方式检索数据。
调用$("p").text(json.firstName);
的那一刻,JSON 尚未加载。
这就是为什么你必须使用:
$.getJSON('userManagement/getUser',function(json){...your code here... }<-callback
相关文章:
- jQuery匹配JSON对象的部分文本
- 在循环中分配json值时,值被覆盖
- 需要帮助设置json数组
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 使用JQuery解析JSON嵌套数组
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何使用json将对象列表从java转换为javascript
- 如何使用 node.js 比较两个 json 数组
- 如何将JSON数据导入我的ejs模板
- 区分JSON中的矩阵和列表列表
- 不显示带有本地json文件数据的谷歌地图脚本
- 如何将json数据显示为html
- 如何为json对象中的段发送array[]
- 根据id将json数组组合为一个json数组
- Json数据包含日期和时间格式
- Javascript handling JSON
- Angular $resource and errorResult JSON handling