当前位置: 首页 > 知识库问答 >
问题:

Javascript处理JSON

柯翔
2023-03-14

这看起来真的很奇怪。。。

我有一些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中是正确的,有什么想法吗?

共有3个答案

隗驰
2023-03-14

$。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方法不支持。

彭展
2023-03-14

$。getJSON()函数只是AJAX调用的包装器;它不会返回AJAX调用后得到的JSON,而是返回一个jqXHR对象(感谢Mathletics对此的澄清)。

您需要提供一个回调函数来处理JSON。

皇甫夕
2023-03-14

尝试:

<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/

 类似资料:
  • 主要内容:错误和异常的区别,JS 异常处理,JS try catch finally 语句,JS 抛出错误,JS 错误类型在编程中,有时代码并不会像我们预期的那样运行,会遇到各式各样的错误,例如代码中使用了错误的符号、调用未定义的方法、网络错误、读取不存在的文件、没有操作权限等。 根据类型的不同,JavaScript 编程中的错误大致可以分为以下三种类型: 语法错误:也称为解析错误,一般是因为代码存在某些语法错误引起的。当发生语法错误时,代码会停止运行; 运行时错误:也称为异常,发生在程序运行期

  • 主要内容:事件绑定,JS 事件示例JS 事件(event)是当用户与网页进行交互时发生的事情,例如单机某个链接或按钮、在文本框中输入文本、按下键盘上的某个按键、移动鼠标等等。当事件发生时,您可以使用 JavaScript 中的事件处理程序(也可称为事件监听器)来检测并执行某些特定的程序。 一般情况下事件的名称都是以单词 开头的,例如点击事件 onclick、页面加载事件 onload 等。下表中列举了一些 JavaScript 中

  • 问题内容: 我想使用JavaScript来操纵CSS。首先,它被认为是一个不错的小脚本,可以为我的手风琴菜单尝试不同的颜色,以及来自输入字段的不同背景/标题/内容-/ …背景颜色。 我了解如何使用js获取输入值。 我了解CSS是通过使用操作,,,和。 现在,问题是我的CSS看起来像这样: 如何使用JavaScript更改此类样式的属性? 问题答案: 无法使用JavaScript直接操作某些CSS样

  • js数据处理 const translations = { 'editor.remove': 'Remove', 'editor.copy': 'Copy', 'editor.words': 'WORDS', 'editor.characters': 'CHARACTERS', 'editor.default': 'Default', 'editor.recent': 'Recently Used

  • // 最大值是1000 let num = 1000; num是最大数为1000,然后根据arr数组里面的test的值之和(3+4+5+6)为18, 1000 / 18 = 55(求整数); 然后需要得到的格式排列的数据如下: 麻烦各位大佬帮忙看看,写了循环,排列的数据格式不对,双循环的排列按顺序的话要怎么写?

  • arr数组最小长度是4最大是8 let num = 600;暂时写死600,这个数自定义输入的 麻烦各位大佬帮忙看看