ajax详解
来源:互联网 发布:万博软件 周末 编辑:程序博客网 时间:2024/06/04 00:41
$.ajax({
//请求的方式
type:"get",或'post'默认get
//请求的路径
url:"ajaxAllMovie.do",
// 传参的数据
data:{key:value,key1:value1},
eg:data : {'phone':$("input[name='phone']").val(),'address':$("input[name='address']").val()},
//后台返回给前台的参数据格式
dataType:"json",
//同步与异步
如上:false为同步,这个 function()方法中的Ajax请求将整个浏览器锁死, 只有后台执行,并返回结果结束后,才可以执行其它操作。
当async: true 时,ajax请求是异步的。但是其中有个问题:function()中的ajax请求和其后面的操作是异步执行的,
那么当后台还未执行完,就可能已经执行了 ajax请求后面的操作,如: alert(temp+'end');然而,
temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。因为当我们查看这时的 Request headers,会发现还是有分界符。这就是因为当我们在 form 标签中设置了enctype = "multipart/form-data",这样请求中的 contentType 就会默认为 multipart/form-data 。而我们在 ajax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件。
async: false,(默认是true);
//重要是这个定义字符编码,默认为:"application/x-www-form-urlencoded;charset=utf-8",内容编码类型满足大多数情况。通俗的讲就是:前台提交的数据格式,在使用ajax上传文件时:在其中先封装一个formData对象,然后使用post方法将文件传给服务器,这里我们就要先说说在http中传输文件的问题,起初,http协议中没有上传文件的功能,此时contentType:false,
contentType:"application/x-www-form-urlencoded;charset=utf-8",
//默认为true,设置为false将不会从浏览器的缓存加载请求信息
cache:false,
//默认为true,默认情况下,发送的数据将会被转换为对象(从技术的角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded",如果发送DOM树信息或者其他不希望转换的信息,请设置为false。
processData:false,
//请求成功后返回的数据 这里的e返回是json对象
success:function(movie){
//var movie = $.parseJSON(e);
var content = "";
for(var i=0;i<movie.length;i++){
content += "<tr height=\"30\">"
+"<td align=\"center\"><input type=\"checkbox\"/></td>"
+"<td align=\"center\">"+movie[i].id+"</td>"
+"<td align=\"center\">"+movie[i].movieName+"</td>"
+"<td align=\"center\">"+movie[i].price+"</td></tr>"
}
$("#movie").append(content);
},
error: function (returndata) {
alert("失败,请检查数据是否正常连接"+returndata);
}
});
//请求的方式
type:"get",或'post'默认get
//请求的路径
url:"ajaxAllMovie.do",
// 传参的数据
data:{key:value,key1:value1},
eg:data : {'phone':$("input[name='phone']").val(),'address':$("input[name='address']").val()},
//后台返回给前台的参数据格式
dataType:"json",
//同步与异步
如上:false为同步,这个 function()方法中的Ajax请求将整个浏览器锁死, 只有后台执行,并返回结果结束后,才可以执行其它操作。
当async: true 时,ajax请求是异步的。但是其中有个问题:function()中的ajax请求和其后面的操作是异步执行的,
那么当后台还未执行完,就可能已经执行了 ajax请求后面的操作,如: alert(temp+'end');然而,
temp这个数据是在ajax请求success后才赋值的,结果,输出时会为空。因为当我们查看这时的 Request headers,会发现还是有分界符。这就是因为当我们在 form 标签中设置了enctype = "multipart/form-data",这样请求中的 contentType 就会默认为 multipart/form-data 。而我们在 ajax 中 contentType 设置为 false 是为了避免 JQuery 对其操作,从而失去分界符,而使服务器不能正常解析文件。
async: false,(默认是true);
//重要是这个定义字符编码,默认为:"application/x-www-form-urlencoded;charset=utf-8",内容编码类型满足大多数情况。通俗的讲就是:前台提交的数据格式,在使用ajax上传文件时:在其中先封装一个formData对象,然后使用post方法将文件传给服务器,这里我们就要先说说在http中传输文件的问题,起初,http协议中没有上传文件的功能,此时contentType:false,
contentType:"application/x-www-form-urlencoded;charset=utf-8",
//默认为true,设置为false将不会从浏览器的缓存加载请求信息
cache:false,
//默认为true,默认情况下,发送的数据将会被转换为对象(从技术的角度来讲并非字符串)以配合默认内容类型"application/x-www-form-urlencoded",如果发送DOM树信息或者其他不希望转换的信息,请设置为false。
processData:false,
//请求成功后返回的数据 这里的e返回是json对象
success:function(movie){
//var movie = $.parseJSON(e);
var content = "";
for(var i=0;i<movie.length;i++){
content += "<tr height=\"30\">"
+"<td align=\"center\"><input type=\"checkbox\"/></td>"
+"<td align=\"center\">"+movie[i].id+"</td>"
+"<td align=\"center\">"+movie[i].movieName+"</td>"
+"<td align=\"center\">"+movie[i].price+"</td></tr>"
}
$("#movie").append(content);
},
error: function (returndata) {
alert("失败,请检查数据是否正常连接"+returndata);
}
});
1 0
- ajax开发:ajax详解
- ajax 详解
- Ajax详解
- ajax详解
- ajax详解
- Ajax详解
- AJAX 详解
- Ajax详解
- ajax 详解
- AJAX详解
- AJAX详解
- Ajax详解
- AJAX详解
- Ajax详解
- AJAX详解
- ajax详解
- Ajax详解
- AJAX详解
- 查找二叉树
- 博为峰Java技术文章 ——JavaSE Swing 进度条组件JProgressBar
- Js常用方法_1
- iOS回顾笔记(05) -- 手把手教你封装一个广告轮播图框架
- WordPress 十分钟搭建个人博客(WAMP +WordPress)
- ajax详解
- 聊一聊this和super关键字
- 1056. Mice and Rice (25)
- centos7中安装nginx
- CSS学习笔记(六)--CSS3
- 第五周:[leetcode] Two Sum、3Sum、3Sum Closest、4Sum
- nginx学习笔记2 nginx信号控制和平滑升级
- 卷皮2017春招笔试题
- android 报错Attempt to invoke virtual method