`
aswang
  • 浏览: 848846 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

关于jQuery的$.getJSON()方法返回值问题

 
阅读更多

 

最近在使用jQuery的ajax方法来获取数据,但是测试过程中发现一个问题,找了很长时间才确定原因,在服务器端我们使用的struts2-json-plugin-2.1.8插件以及json-lib-2.3-jdk15库,将数据转换为json字符串返回给浏览器。

 

服务器端struts2的结果类型如下配置:

<result name="success" type="json">
	<param name="root">jsonData</param>
</result>
 其中type="json"  这个是struts2-json-plugin-2.1.8插件中定义结果类型,用以将action中的字符串当做json串返回给浏览器。这个之前测试过,没有问题。

jsp页面代码如下:
$.getJSON(url,{teacherId:empId},function(json){
	json = eval("("+json+")");
	if( json != null && json.result == "success" ){
		alert("成功!");
	}
});
 上面的代码是正确的,但是如果我把
json = eval("("+json+")");
注释掉,那么程序将出错,说json.result未定义。

$.getJSON()这个方法的返回值就是json对象,但是我们访问json中的值却告诉我未定义,如果把注释去掉,
也即将返回结果就行转换一下,就可以了。

如果我使用$.ajax()这个方法,并且将dataType定义为json,这样是正确的。

不知道有没有人遇到这种情况,还希望解答一下!




0
1
分享到:
评论

相关推荐

    jquery $.post()的用法 传递json文本 客户端和服务器端相互传递

    ### jQuery $.post() 方法详解与 JSON 数据交互 在现代 Web 开发中,客户端与服务器端的数据交换是非常重要的一个环节。jQuery 提供了多种 AJAX 方法来简化这一过程,其中 `$.post()` 是一种常用的方式来实现客户端...

    浅析$.getJSON异步请求和同步请求

    $.getJSON是jQuery库中用于发起异步AJAX请求的一个方法,它的目的是为了简化JSON数据的加载过程。在AJAX通信中,请求可以是异步的,也可以是同步的。异步请求不会阻塞后续代码的执行,而同步请求则会阻塞,直到请求...

    最新版JQuery-jquery-3.2.1.min.js

    - **Ajax**:`$.ajax()`, `$.get()`, `$.post()`, `getJSON()`等方法简化了与服务器的数据交互。 ### 5. 兼容性和性能提升 jQuery 3.x系列致力于提高对ES6及以后新特性的支持,并优化了性能。对于不再支持的旧...

    asp.net 利用jquery-ajax调用后台方法

    对于更简单的GET或POST请求,jQuery提供了简化的`$.getJSON()`, `$.get()`, `$.post()`方法,它们是`$.ajax()`的封装,方便快捷地进行数据请求。 综上所述,通过jQuery的AJAX功能,我们可以轻松地在客户端与ASP...

    2010最新版jquery.js库ajax文件下载

    3. **$.getJSON()**: 用于获取JSON格式的数据,如`$.getJSON("data.json", function(jsonData) { ... })`。 4. **$.load()**: 用于加载远程HTML片段并插入到DOM中,如`$("#result").load("page.html #content")`将...

    jQueryAPI.rar_web api

    同时,`$.getJSON()`和`$.load()`等函数则专门处理JSON和部分HTML内容的获取。 6. **链式调用(Chaining)**:jQuery对象的方法返回的是jQuery对象本身,这意味着可以连续调用多个方法,如`$("div").addClass(...

    ajax请求后台接口数据与返回值处理js的实例讲解

    AJAX最常见的实现方式有两种:一是使用原生的XMLHttpRequest对象,二是使用jQuery库提供的$.ajax方法。在现代开发中,由于jQuery的简便性和跨浏览器的兼容性,$.ajax方法应用更为广泛。 知识点三:$.ajax方法的参数...

    jQuery Ajax使用心得详细整理及注意事项

    ——————————————————————————– 终止Ajax请求 终止请求需要调用XMLHttpRequest对象的abort()方法 而在jQuery中的$.get,$.post、$.ajax、$.getJSON、$.getScript…的返回值都是...

    jquery1.7中文参考手册

    5. **Ajax交互**:jQuery封装了Ajax操作,如$.ajax()是核心函数,$.get()和$.post()分别用于GET和POST请求,$.getJSON()用于获取JSON数据。此外,$.load()允许局部更新页面内容。 6. **链式操作**:jQuery的一个...

    jQuery跨域请求,获取返回值

    jQuery的`$.getJSON()`或`$.ajax()`方法可以通过设置`dataType`为`'jsonp'`来实现JSONP请求。例如: ```javascript $.getJSON('http://otherdomain.com/api/data?callback=?', function(response) { // 处理返回的...

    jquery1.7.2 API.CHM中文版

    5. **Ajax交互**:`$.ajax()`, `$.get()`, `$.post()`用于异步请求数据,`$.getJSON()`专门用于获取JSON格式的数据。 6. **链式操作**:jQuery对象的方法返回的仍然是jQuery对象,使得多个操作可以连贯执行,如`$(...

    ajax ajax jquery-1.4.1-vsdoc

    **jQuery的AJAX功能** 包括`$.ajax()`, `$.get()`, `$.post()`, `$.getJSON()`等方法,它们用于执行异步请求。例如,`$.get()`和`$.post()`分别用于GET和POST请求,而`$.getJSON()`专门用于获取JSON格式的数据。这些...

    springmvc + jquery + ajax + json 异步传递数据

    在前端,通过jQuery的$.ajax或者$.getJSON方法发起异步请求。这些方法允许我们指定URL、请求类型(GET或POST)、数据以及回调函数,以处理服务器返回的数据。JSON数据通常在回调函数中解析,然后可以更新DOM元素,...

    JQuery1.6_API.CHM

    5. **AJAX操作(Ajax)**:jQuery 提供了强大的AJAX支持,如 `$.ajax()` 进行异步请求,`$.get()` 和 `$.post()` 进行GET和POST请求,`$.getJSON()` 获取JSON数据,`$.load()` 动态加载HTML内容。 6. **jQuery UI...

    jquery.api.3.2.1.CHM.7z

    `$.getJSON()`和`$.getScript()`是针对特定需求的简化版Ajax函数。 6. **链式操作**:jQuery的返回值通常是一个jQuery对象,这使得多个方法可以连续调用,形成链式操作,如`$("#element").css("color", "red")....

    jquery-api-1.8.chm

    7. **Ajax交互(Ajax)**:jQuery提供了`$.ajax()`, `$.get()`, `$.post()`等函数,简化了异步数据请求。`getJSON()`和`load()`则专门用于获取JSON数据和加载HTML内容。 8. **插件(Plugins)**:jQuery拥有丰富的...

    jquery调用wcf并展示出数据的方法

    总结来说,jQuery调用WCF服务的过程主要包括创建WCF服务接口和实现,设置HTTP GET请求的JSON格式,以及在客户端使用jQuery的`$.getJSON`方法发起Ajax请求。通过这种方式,你可以方便地在网页上实时展示从服务器获取...

    jQueryApi.zip

    `$.get()`和`$.post()`是其简化的版本,分别用于GET和POST请求。 7. **插件生态**:jQuery拥有丰富的插件生态系统,如Bootstrap、jQuery UI等,它们扩展了jQuery的功能,如表单验证、日期选择器等。 8. **版本差异...

    jQuery1.11.3 中文手册.zip

    `$.getJSON()`专门用于获取JSON格式的数据,`$.load()`则用于局部刷新页面内容。 6. **插件机制**:jQuery的插件系统是其强大之处,通过`$.fn.extend()`可以扩展jQuery对象,创建新的方法。许多第三方插件如jQuery ...

    jquery

    `$.getJSON()`则用于获取JSON格式的数据。 jQuery还提供了许多实用的辅助函数,如`$.each()`, `$.extend()`, `$.grep()`, `$.inArray()`等,它们在处理数组、对象、遍历等方面非常有用。 在学习jQuery时,`jquery_...

Global site tag (gtag.js) - Google Analytics