0 0

ajax—json返回undefined,大家帮忙看看,非常感谢了!!!!5

js代码:
var url="${pageContext.request.contextPath}/updateHSwitch.action";
  $.post(url,{isID:hsID,isSwitch:hsSwitch,dataType:"json",success:function(jsonres){
  alert(jsonres);       //s弹出undefined
  var json = eval("(" + jsonres + ")");
   
  alert(json);    //s弹出undefined

  }
  });


action代码:

public String updateHSwitch() {
  System.out.println(".............");
  if(isID==100) return "ERROR";
  dataList=hostSwitchBiz.getHostSwitch(isID); //根据ID获取信息
  for (int i = 0; i < dataList.size(); i++) {
  hostswitch=(SwHostswitch)dataList.get(i);
  }
  hostswitch.setIsSwitch(isSwitch); //替换开关状态数据
  explanList=hostSwitchBiz.updateHSwitch(hostswitch); //更新整条数据 
   
  JSONArray jsonres=JSONArray.fromObject(explanList);
  System.out.println(jsonres.toString());

//输出[{"isCommand":"#58008# ","isOpenExplain":"语音提示 ","isState":"内部空号音提示","isSwitch":"0","isShutExplain":"听空好音 ","isExplain":"内部空好音提示:1 语音提示,0 听空号音","isId":8}]
  return "jsonres";
  
}


xml配置:
<package name="json" namespace="/" extends="json-default">
  <action name="updateHSwitch" class="hostSwitchAction" method="updateHSwitch">
  <result name="jsonres" type="json" />
  </action>
2012年7月18日 09:21

8个答案 按时间排序 按投票排序

0 0

采纳的答案

你这段代码,有几个地方需要调整一下。
$.post() 换成 $.ajax();
dataType:"json",这个属性我不清楚对$.post()也是起作用的。

第二个是action里面 按需(前端要什么就给什么)向前台返回数据比较合理
直接将jsonres.toString();通过Response对象返回到前台。
这个也就不需要了  <result name="jsonres" type="json" />
return null;就行了。

type="json" 会对所有提供get方法的字段进行处理。如果变量比较多就不好玩了。


也不用非要用json这样的修饰,你就当是字符串,返回到前端像你用eval 也有json2.js这样的工具类,在处理一下就OK了。

2012年7月18日 14:08
0 0

1.将JSONArray转化成字符串写入到响应中
response.getWriter().print(jsonres.toString());
2.Action当中只需要返回空即可。
return null;

2012年7月18日 17:01
0 0

eval少用吧
既然用jquery了就$.parseJSON(str);

2012年7月18日 16:43
0 0

用response.getWriter().print(str);

2012年7月18日 13:18
0 0

首先我确认下,你放到前台json显示的是explanList此变量吗?然后是你有用firebug看过后台的返回值吗?

另外我给个意见,你前台的success:function(jsonres){ } 这个jsonres应该形式是{"explanList":[{"isCommand":"#58008# ","isOpenExplain":"语音提示 ","isState":"内部空号音提示","isSwitch":"0","isShutExplain":"听空好音 ","isExplain":"内部空好音提示:1 语音提示,0 听空号音","isId":8}] },所以var json = eval("(" + jsonres + ")");  这个地方的处理应该是var json = eval("(" + jsonres.explanList + ")"); 当然这是你结果有返回的后话了

2012年7月18日 10:40
0 0

<package name="json" namespace="/" extends="json-default">
  <action name="updateHSwitch" class="hostSwitchAction" method="updateHSwitch">
  <result name="jsonres" type="json">
<param name="root">jsonres</param>
</result>
  </action>

而且也不用evel了吧

2012年7月18日 10:39
0 0

return "jsonres";
你return一个jsonres字符串 那你前面处理的jsonres对象干什么用?

2012年7月18日 10:33
0 0

explanList=hostSwitchBiz.updateHSwitch(hostswitch); //更新整条数据 

问一下,你这个地方的explanList有getter方法吗???

2012年7月18日 09:47

相关推荐

    json2.js包

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括JavaScript)的习惯,这使得它对程序员来说非常直观。`json2.js`是一个...

    前端项目-json2.zip

    首先,我们来看"JSON.stringify()"方法,这是将JavaScript对象转换为JSON字符串的关键。此方法接受三个参数:要转换的对象、替换函数(可选)和空格数量(用于美化输出,可选)。例如: ```javascript let obj = {...

    演示json

    - Web API通信:AJAX请求通常返回JSON格式的数据,客户端可以轻松地将这些数据解析成JavaScript对象进行操作。 - 存储:JSON常用于存储配置文件、用户数据等,因为它具有良好的可读性。 - 数据交换:不同编程语言...

    ajax的hide隐藏问题解决方法

    1. **验证服务器响应**:首先,确认AJAX请求返回的JSON数据是否完整无误。在浏览器的开发者工具中查看网络请求,检查`/yoblhtjfx/queryCountryAjax.action`返回的数据,看是否有缺失的元素。 2. **调试JavaScript**...

    js代码-对象最简便的json写法

    JSON格式与JavaScript对象非常相似,因此在JavaScript中处理JSON数据是相当直观的。本篇文章将深入探讨如何在JavaScript中创建和使用JSON对象,以及在`main.js`文件中可能涉及的相关实践。 1. JSON对象的基本语法:...

    js-weather-api-ajax-web-0615-public

    这应该返回一个函数,而不是“ undefined”。 您将使用可视化来自Weather Underground的JSON,因此请进行检查。 在HTML文件的开头需要Chart.js库。 通过在浏览器的控制台中键入Chart仔细检查您是否正确需要该库。 ...

    jQuery使用cookie与json简单实现购物车功能

    现在我们来看一下使用这些技术来实现购物车功能的具体方法和步骤。 1. 存储商品ID的cookie生成 在用户将商品添加到购物车时,我们首先需要生成一个cookie来存储商品的ID。由于cookie存储的是字符串类型,我们需要将...

    解决layui批量传值到后台操作时出现传值为空的问题

    在上述问题中,开发者遇到了一个常见错误:前端能够正确获取到要删除的数据(如商品ID),但在发送Ajax请求到后台时,这些值却变成undefined。这种问题可能是由多种原因导致的,例如JSON序列化错误、数据结构不正确...

    js中一个函数获取另一个函数返回值问题探讨

    首先,我们来看一个例子,这是一个异步的Ajax调用: ```javascript function getCaseInfoForMap() { var formInfo = $("#firstForm").serialize(); var dd; $.ajax({ type: "post", url: "&lt;%=path %&gt;/web...

    JavaScript动态网页设计经典实例

    1. **基础语法**:JavaScript的基础包括变量、数据类型(如字符串、数字、布尔值、null和undefined)、操作符(算术、比较和逻辑)、流程控制(条件语句if/else,循环for和while)以及函数的定义与调用。 2. **DOM...

    JavaScript的常用方法的集合

    - JavaScript有七种数据类型:`null`、`undefined`、`boolean`、`number`、`string`、`bigint`(ES10引入)以及对象类型(包括数组和函数等)。 3. **字符串操作**: - `concat()`:用于连接两个或多个字符串。 ...

    javascript实例80

    所以,"非常不错的javascript实例,新手必看"这一标签恰如其分,对于想要提升JavaScript技能的人来说,这是一个不可多得的学习资源。在实际学习过程中,结合"JS脚本80例",逐步拆解并运行每个示例,理论与实践相结合...

    juery1.2.6-jquery1.3.2帮助文档大全+css+js帮助文档大全

    在IT行业中,jQuery是一个非常重要的JavaScript库,它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互。此压缩包"juery1.2.6-jquery1.3.2帮助文档大全+css+js帮助文档大全"提供了一个全面的学习...

    javascript实用例子文件

    在"javascript_src.rar"这个文件中,可能包含的是源代码文件,可能涵盖了基础语法、DOM操作、事件处理、AJAX请求、闭包、作用域、定时器、JSON处理等多个方面的实例。例如,基础语法部分可能包括变量声明(var、let...

    javascript笔记

    1. **基础语法**:JavaScript的基础语法包括变量(var, let, const)、数据类型(字符串、数字、布尔、null、undefined、对象、数组、Symbol、BigInt)、运算符(算术、比较、逻辑、位运算符)、流程控制(条件语句...

    javascript面试题汇总.pdf

    JavaScript面试题汇总的知识点涵盖了多个方面,包括数据类型、类型转换、字符串与数组方法、浏览器兼容性、异步请求、作用域与闭包、事件处理、JSON数据解析、DOM操作等。下面将详细介绍这些知识点: 1. **数据类型...

    javascript相关文档

    除此之外,JavaScript的错误处理、事件驱动模型、Ajax异步请求、JSON数据格式处理、正则表达式以及调试技巧都是重要的知识点。对于前端开发者来说,理解跨域问题及其解决方案,如CORS(跨源资源共享)也是必不可少的...

    javascript step by step

    数据类型包括基本类型(如字符串、数字、布尔值、null和undefined)和引用类型(如对象和数组)。 2. **操作符**: JavaScript提供各种操作符,如算术操作符(+,-,*,/,%),比较操作符(==,!=,&gt;,&lt;等),...

    廖雪峰合集你们都看的到的那种

    【标题】"廖雪峰合集你们都看的到的那种" 涵盖了JavaScript、Python和Git等关键IT技术的教程,是学习这些领域的宝贵资源。廖雪峰的教程以其深入浅出、实例丰富的特点深受程序员喜爱,下面将详细探讨这些知识点。 ...

Global site tag (gtag.js) - Google Analytics