jquery的ajax请求中的数据处理

前台(1)js发出请求的ajax方法 1 $.ajax({
 2                 url: "*.do",  //url是要请求的路径
 3                 type: "get",  //type是http请求的类型,值是"get"或者"post"
 4                 data: "key=" + value+ "&key=" + value+ "&key=" + value, /* data是请求时提交的数据,后台可以以request.getParameter()方式获取                    ,这里可以以url传参的方式,也可以放一个javascript对象如{key:value,key:value,...} */
 5                 dataType: "json", //这里如果后台传递的是json串,并且前台想以javascript对象方式使用这个json串,那这里的dataType必须为"json",否则会js会当成普通字符串处理
 6                 success: function (data) {//这里是请求成功时执行的回调方法,不是后台方法的操作成功时执行的回调
 7                   处理后台返回的数据data
 8                 },
 9                 error: function (XMLHttpRequest, textStatus, errorThrown) {//这里是请求失败时执行的回调
10                     alert(XMLHttpRequest);
11                     alert(textStatus);
12                     alert(errorThrown);
13                 }
14             });

(2)通常如果只是想知道后台执行成功与否时是不需要使用json串的,只需要使用response.getWriter().print()输出一个字符,用于表示执行的结果;在前台根据这个字符来判断操作的执行结果,但有时想把后台的数据如一个包含javabean的List传递到前台,就可以使用json串;使用json串时 后台控制器方法中的主要方法

1 //object是任意的java对象,如java bean,persistent entity,pojo
2 SONObject jsonObject = JSONObject.fromObject(object);
3 String jsonStr=jsonObject .toString();
4 response.getWriter().print(jsonStr);
5 return null;

(3)后台获取json串时依赖的jar包

json-lib-2.2.2-jdk15.jar 
时间: 2024-08-24 20:34:28

jquery的ajax请求中的数据处理的相关文章

原生js和jquery发送ajax请求及封装

原生js                                   // ajax get 五部曲function ajax_get(url,data){ // 异步对象 var ajax=new XMLHttpRequest(); // 设置url和请求方式 // url方法 如果有数据要把数据拼接到url中?name=jack&age=20 if(data){ url+=?; url+=data; }else{}; ajax.open('get',url); // 发送请求 aja

PHP服务器文件管理器开发小结(三):使用jQuery提交AJAX请求

本节将讨论使用jQuery提交AJAX请求的基本方法,并完成显示首文件夹的基本方法. 同时,本节也将讨论使用图片链接提交请求的基本方法. jQuery是一套强大的JS库,将复杂的JS操作封装成简洁的语句,并提供对AJAX的支持.通过 jQuery AJAX 方法,您能够使用 HTTP Get 和 HTTP Post 从远程服务器上请求文本.HTML.XML 或 JSON - 同时您能够把这些外部数据直接载入网页的被选元素中.编写常规的 AJAX 代码并不容易,因为不同的浏览器对 AJAX 的实现

【jquery】ajax 请求成功后新开窗口被拦截解决方法

问题: 前面开发项目时碰到一个问题,ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是很可惜被浏览器给拦截了,怎么解决这个问题呢? 分析: 浏览器之所以拦截新开窗口是因为该操作并不是用户主动触发的,所以它认为这是不安全的就拦截了(不过如果是 _self 的话就不会有这个限制),即使 ajax 回调函数中模拟执行 click 或者 submit 等用户行为(trigger('click')),浏览器也会认为不是由用户主动触发的,因此不能被安全执行,所

Angular和jQuery的ajax请求的差别

近期项目中使用angular,结果发现后台没法获取參数,所以,略微研究了一下两者在发送ajax时的差别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释contentType默认是 application/x-www-form-urlencoded; charset=UTF-8 contentType (default: 'application/x-www-form-urlencoded; charset=UTF-8') Type: String Wh

Angular和jQuery的ajax请求的区别

最近项目中使用angular,结果发现后台没法获取参数,所以,稍微研究了一下两者在发送ajax时的区别. 注意angular和jquery的ajax请求是不同的. 在jquery中,官方文档解释contentType默认是 application/x-www-form-urlencoded; charset=UTF-8 contentType (default: 'application/x-www-form-urlencoded; charset=UTF-8') Type: String Wh

JQuery发送ajax请求不能用数组作为参数

JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var selectedMembers = document.getElementsByName('selectedMembers');        var cwIds = new Array(); //定义数组        for(var i=0;i<selectedMembers.length;i++){  

Ajax请求中的Redirect()

页面中有一个IsLogin()方法,用以判断该请求的触发者是否登录,如果登录了,则执行查询操作,如果没有登录,则Redirect()至登录界面 页面使用了较多的Ajax请求来获取数据,而在Ajax请求中,若运行至Context.Response.Redirect()则出错. 网上的一些资料给出的解决方案是在Ajax请求中增加一个状态码,然后人为的去获取该状态码,进行重定向. IsLogin()方法需要同时处理普通请求与Ajax请求,所以,在处理之前,应当知道当前请求是否为Ajax请求. 参考了网

jQuery发送Ajax请求以及出现的问题

普通jQuery的Ajax请求代码如下: $.ajax({ type: 'POST', url: "http://xxx/yyy/zzz/sendVerifyCode", data:{ phoneNo:$(".tel").val() }, success: function(data){ $.toast("发送成功", "text") }, error: function(){ $.toast("发送失败"

jquery ajax 请求中多出现一次OPTIONS请求及其解决办法

http://www.tangshuang.net/2271.html 在上一篇<服务端php解决jquery ajax跨域请求restful api问题及实践>中,我简单介绍了如何通过服务端解决jquery ajax的跨域请求问题,但是,在这个过程中,我们会发现,在很多post,put,delete等请求之前,会有一次options请求.本文主要是来讨论一下这是什么原因引起的. 根本原因就是,W3C规范这样要求了!在跨域请求中,分为简单请求(get和部分post,post时content-t