AJAX与后端联调问题

在以前,传统的Web应用使用的是用户端填写表单(form),当提交表单时就向网页服务器发送一个请求。服务器接收并处理传来的表单,然后送回一个新的网页,但这个做法浪费了许多带宽,因为在前后两个页面中的大部分HTML码往往是相同的。由于每次应用的沟通都需要向服务器发送请求,应用的回应时间依赖于服务器的回应时间。这导致了用户界面的回应比本机应用慢得多。
与此不同,AJAX应用可以仅向服务器发送并取回必须的数据,并在客户端采用JavaScript处理来自服务器的回应。因为在服务器和浏览器之间交换的数据大量减少,服务器回应更快了。同时,很多的处理工作可以在发出请求的客户端机器上完成,因此Web服务器的负荷也减少了。

前后端联调的时候,很容易出现ajax报错,具体报错内容我们可以使用ajax对返回状态的处理,ajax出错一般会进入到error之中。错误返回参数有jqXHR jqXHR, String textStatus, String errorThrown这三个。

$.ajax({
        url: '/url',            
        success: function (data) {
            /*程序片*/
        },
        error: function (jqXHR, textStatus, errorThrown) {
            /*错误信息处理*/
        }
    });

第一个参数有主要有4个属性:

  • readyState :目前状态值
  • 0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
  • status :返回的HTTP状态码,比如常见的404,500,405等错误代码。
  • statusText :对应状态码的错误信息
  • responseText :服务器响应返回的文本信息

第二个参数返回的是字符串类型,它表示返回的状态,根据服务器不同的错误可能返回下面这些信息:“timeout”(超时), “error”(错误), “abort”(中止), “parsererror”(解析错误),还有可能返回空值。
第三个参数返回的是字符串类型,它表示服务器抛出返回的错误信息,如果产生的是HTTP错误,那么返回的信息就是HTTP状态码对应的错误信息。
用户可以根据这几个数值准确找到具体的问题,并进行解决。
当然还有,在我使用ajax的时候,前端调用了后端的接口,但ajax进入error操作,提示404/500.这种情况一般是由于对ajax的contentType以及dataType这两个值设置与后端接受和发送的数值不同而导致的。
其中常出现的状态码有:
200(成功) 服务器已成功处理了请求。通常,这表示服务器提供了请求的网页。
404(未找到) 服务器找不到请求的网页。例如,对于服务器上不存在的网页经常会返回此代码。
405(方法禁用) 禁用请求中指定的方法。
500(服务器内部错误) 服务器遇到错误,无法完成请求。
其余状态码,引用其他伙伴写好的内容:
http statusCode(状态码) 200、300、400、500序列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值