浅析Ajax后台success传来json数据的问题

最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据。在$.ajax方法中应该是如何来处理的,简单进行说明。

首先给出要传的json数据:[{"demoData":"This Is The JSON Data"}]

1,使用普通的aspx页面来处理

$.ajax({ type: "post", url: "Default.aspx", dataType: "json", success: function (data) { $("input#showTime").val(data[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });

这里是后台传递数据的代码

Response.Clear(); Response.Write("[{\"demoData\":\"This Is The JSON Data\"}]"); Response.Flush(); Response.End();

这种处理的方式将传递过来的数据直接解析为json数据,也就是说这里的前台js代码可能直接把这些数据解析成json对象数据,而并非字符串数据,如data[0].demoData,这里就直接使用了这个json对象数据

2,使用webservice(asmx)来处理

这种处理方式就不会将传递过来的数据当成是json对象数据,而是作为字符串来处理的,如下代码

$.ajax({ type: "post", url: "JqueryCSMethodForm.asmx/GetDemoData", dataType: "json",/*这句可用可不用,没有影响*/ contentType: "application/json; charset=utf-8", success: function (data) { $("input#showTime").val(eval('(' + data.d + ')')[0].demoData); //这里有两种对数据的转换方式,两处理方式的效果一样 //$("input#showTime").val(eval(data.d)[0].demoData); }, error: function (XMLHttpRequest, textStatus, errorThrown) { alert(errorThrown); } });

下面这里为asmx的方法代码

public static string GetDemoData() { return "[{\"demoData\":\"This Is The JSON Data\"}]"; }

这里的这种处理方式就把传递回来的json数据当成了字符串来处理的,所在就要对这个数据进行eval的处理,这样才能成为真正的json对象数据。

success:function(data){ eval(data); }

以上所述是小编给大家介绍的Ajax后台success传来json数据的问题,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言小编会及时回复大家的!

时间: 2024-10-26 04:08:30

浅析Ajax后台success传来json数据的问题的相关文章

浅析Ajax后台success传来json数据的问题_AJAX相关

最近在使用JQuery的ajax方法时,需要返回的数据为json数据,在success返回中数据处理会根据返回方式不同会采用不同的方式来生成json数据.在$.ajax方法中应该是如何来处理的,简单进行说明. 首先给出要传的json数据:[{"demoData":"This Is The JSON Data"}] 1,使用普通的aspx页面来处理 $.ajax({ type: "post", url: "Default.aspx&quo

javascript-静态页面使用ajax获取后台传递的Json数据

问题描述 静态页面使用ajax获取后台传递的Json数据 项目中需要用到javascript获取后台传回来的Json数据,需要使用了ajax,页面是自动生成的静态页面,不能够使用到js框架,有办法么? 解决方案 ssh 中 jquery ajax 调用action返回的json数据并传递到页面Struts2结合jquery使用Ajax传递Json数据jsp页面使用json后台数据 解决方案二: 静态页面为什么不能用js,两者根本不矛盾的事情. 解决方案三: 你的意思是不能导入框架的js文件是吗

ajax接受后台返回的json数据不全

问题描述 ajax接受后台返回的json数据不全 后面没东西了 导致ajax直接进入error方法了知道的大神帮忙支支招 , 万分感谢 解决方案 网络不稳定导致数据没有传输完吧...你浏览器直接访问地址能获取到完整的数据没? 解决方案二: 你先检查后台组织json的地方是否组织了正确的数据 解决方案三: 如果是你在后台自己封装的json对象,需要考虑容错,不要因为某一项异常或导致了返回的对象不是一个完整的Json对象.最好是先取值,最后统一封装,而不是动态拼接这种形式,极易出错. 解决方案四:

编码-jQuery中的ajax方法获取到json数据中文会乱码

问题描述 jQuery中的ajax方法获取到json数据中文会乱码 接口如下:http://cre.mix.sina.com.cn/api/finance/topstock_display这个接口 默认返回是 gbk的编码 支持 oe=utf-8,但是xtmlhttprequest 返回的数据默认的字符编码是utf-8,后台说用oe=utf转换,求解... 解决方案 首先你这不是json,所以你需要从服务器语言上把数据转换成json再去传到前端:其次,你要把后台脚本改成utf-8编码,不知道你用

为什么得不到后台传的JSON数据?

问题描述 为什么得不到后台传的JSON数据? 求帮助啊 Springmvc public void firstP(HttpServletRequest request) { List<Picture> pl = (List<Picture>) pageService.getPageList(1, number); JSONArray array = JSONArray.fromObject(pl); request.setAttribute("pl",array

显示-求教将后台返回的JSON数据填充到表格的问题,js的循环怎么写才正确。

问题描述 求教将后台返回的JSON数据填充到表格的问题,js的循环怎么写才正确. 后台返回的是这样的 {"reportId":"1","className":"java","reportName":"232","teaName":"刘老师","stuName":"张同学","uploadDate&q

Jquery通过ajax请求NodeJS返回json数据实例_jquery

最近看了NodeJS相关的,在网上查了下结合AJAX的应用,感觉应用前景还是不错的.为什么用这个组合呢? 1.NodeJS不需要安装,拷贝过去就可以使用,而环境变量可以只配置在当前cmd窗口,运行方便. 2.通过HTML的ajax请求,可以实现在不同的服务器上,可跨域获取数据. 3.通信数据格式灵活,可以是xml.json.binary等,数据适合任何平台. 在说说我的环境,我使用的是公司提供的电脑,有很多限制,比如是域中电脑,操作权限低,无法安装任何软件,无法修改计算机配置,无法使用U盘等等.

jquery ajax获取php返回json数据生成select下拉框

例子  代码如下 复制代码 <script type="text/javascript" language="JavaScript"> function select(){ var pro_id = $("#pro").val(); $.ajax({ 'url':'cartage_fee.php?act=ajaxGetCity&region_id='+pro_id, 'type':'post', 'dataType':'jso

JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程_JSP编程

复制代码 代码如下: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.BufferedReader" %> <%@ page import="net.sf.json.*" %> <% Buff