Ajax 学习总结

原创
2015/04/02 15:52
阅读数 64


    1、异步请求不能进行页面跳转,如果想要页面跳转只能是采用window.location.href,所以不能使用Spring的ModeAndView进行视图跳转。

    2、Ajax没有提供文件上传的接口,原因就是文件上传需要表单指定head格式为 enctype="multipart/form-data" , 然而,jQuery只提供对文本的的传送,文件上传只能是通过浏览器的表单以文件流的形式进行发送传输。如果想要采用Ajax进行文件上传,那么只能借助表单提交的方式

    3、常用配置

type              请求方式,默认为 get , 可以指定 put delete 但是,要看浏览器是否支持Restful
data 请求数据,默认为null,可以是js对象,也可以是URL参数形式,js对象时要注意,对于数组,一定要把数组先转为json格式数据。
url 请求地址,不多说
contentType                                                   浏览器发送到服务器时的数据类型,一般不修改默认值,Ajax只有一种类型:
application/x-www-form-urlencoded
然而,表单提交需要文件流的新式 multipart/form-data
所以,Ajax无法进行文件上传!
dataType 服务器发送到浏览器的数据类型,这个默认为text,其实这个值作用很大,
1)当服务器返回json数据时,我们可以把这个值设为json,那么Ajax会默认进行text转为json对象!
2)当服务器返回HTML数据时,我们可以把这个值设为HTML,那么Ajax会默认把HTML标签进行HTML渲染!
timeout 连接超时,这是个很重要的属性,EasyUI中表单提交没有提供连接超时选项,它只提供了success,也就是只能是返回成功才会调用,如果后台数据异常,那么这个方法success不会得到回调,最后的结果就是,不知道后台发生了什么情况!如果设置了遮罩设备就更麻烦了,我的处理方式是,setInterval();在一定时间之后就把遮罩给自动去掉。

success 成功回调,只要服务器是正常返回,都会会回调这个方法!

一定是后台没有异常的情况下,而且响应时间在timeout以内。

error 异常回调,后台数据异常,响应时间已经超过了timeout,这个方法就会被回调!

这个方法的作用是巨大的,因为,服务器发生错误是一个很重要的信息。


展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部