ajax 跳入error的一些原因

先放一个标准的jquery的ajax代码:

$.ajax({
        type: ‘POST‘,
        url: ‘getSecondClassification‘,
        data: {"sort2": sort2,"sort3":sort3)},
        dataType: ‘json‘,
        success: function (sort) {

            $("#noneSelect").remove();

            var optionstring = "";

            for (var i in sort) {
                optionstring += "<option value=\"" + sort[i].classId + "\" >" + sort[i].className + "</option>";
            }
            $("#secondtype").html(optionstring);

            $("#build").removeAttr("disabled");

        },
        error: function (XMLHttpRequest, textStatus, errorThrown) {
//              $("#p_test").innerHTML = "there is something wrong!";
//                alert(XMLHttpRequest.status);
//                alert(XMLHttpRequest.readyState);
//                alert(textStatus);
        }
    });

出现任何错误都会跳到error函数里

举例说明一些错误原因:

1. dataType错误

类型错误:后台返回的dataType类型和前台写的不一致会跳入error

格式错误:jquery1.4之后对json的格式要求非常严格,json格式错误也会跳入error.{"test":1} 注意格式

有时,在不需要返回值的情况下,扔按模板格式,设置了dataType:"json",参数;这时候,ajax传值正确时,出现200返回成功状态下报错的特殊情况。

2. async请求同步异步问题

async默认是true(异步请求),如果想一个Ajax执行完后再执行另一个Ajax, 需要把async=false

例如,你用post请求传值到另一个页面后台,但是页面一加载你的ajax就已经执行过了,传值接收是在后台才完成的,这时候就请求不到数据,所以可以考虑把ajax请求改为同步试试。

3. data不能不写

data为空也一定要传"{}";不然返回的是xml格式的。并提示parsererror. data:"{}"

parsererror的异常和Header 类型也有关系。及编码header(‘Content-type: text/html; charset=utf8‘);

4. 传递的参数

必须是ajax支持的编码格式

5. URL路径问题

路径不能有中文

用error调试错误信息:

可以alert出来,查看具体是哪里出错了

具体参数:

XMLHttpRequest:XMLHttpRequest.readyState: 状态码的意思
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
XMLHttpRequest:XMLHttpRequest.status:

textStatus:错误原因

null timeout error notmodified  parsererror

errorThrown:(可选)捕获的错误对象
时间: 2024-11-09 06:16:08

ajax 跳入error的一些原因的相关文章

jQuery插件AjaxFileUpload实现ajax文件上传时老是执行error方法 问题原因

今天在用jQuery插件AjaxFileUpload实现ajax文件上传时,遇到一个问题,如图: 老是执行error,无法执行succes方法,追踪ajaxfileupload.js源码发现: 当执行if(type=="json")    eval("data = "+data);会抛出异常,导致在处理异常的时候将status = "error" 因此一直执行error方法. 上网查询,得知eval函数是用来执行一段js代码,而并不是如我所想的反

表单提交是ajax提交,PC提交没问题但是手机提交就会一直跳到error,并且也没状态码一直是0

真是被自己蠢死了button标签他会自动提交刷新页面 <form id="baoming_from"> <p>请填写您的个人信息</p> <ul> <li><label>姓       名:</label><input type="text" name="name" myAttr="姓名" maxlength="5"&

ASP.Net MVC跳转,分为form的submit提交跳转和ajax跳转

1,用jquery ajax跳转的话,需要在前台用window.location("跳转网址")来跳转,在success后使用 2,用原声的form的submit来跳转,如下图 3,上面一段js+html也可用js来代替,如下 关于跳转的一些方式,大家有哪些意见和建议,可以在下面留言,欢迎讨论 最近在研究node.js,觉得这东西很牛逼,但是不知道对于我现在的小项目来说,能不能用,怎么用,用起来怎么样,还有我在学习xojo,听说这个是高度封装,好处就是少写代码,坏处就是无法更多的自由,

JSP ajax跨域问题 怎么处理 原因:CORS 头缺少 &#39;Access-Control-Allow-Origin&#39;)。 ajax http 415

/** * Project Name:cm2mManage * File Name:CrossSiteFilter.java * Package Name:com.yoxnet.serverframework.base * Date:2016年4月27日下午4:52:51 * Copyright (c) 2016, [email protected] All Rights Reserved. * */ package com.zhl.sms.filter; import java.io.IOEx

Linux内核系列—12.b.操作系统开发之从Loader跳入保护模式

现在,内核已经被我们加载进内存了,该是跳入保护模式的时候了. 首先是GDT以及对应的选择子,我们只定义三个描述符,分别是一个0~4GB的可执行段.一个0~4GB的可读写段和一个指向显存开始地址的段: ; GDT ; 段基址 段界限, 属性 LABEL_GDT: Descriptor 0, 0, 0 ; 空描述符 LABEL_DESC_FLAT_C: Descriptor 0, 0fffffh, DA_CR|DA_32|DA_LIMIT_4K ;0-4G LABEL_DESC_FLAT_RW: D

Ajax不执行回调函数的原因(转)

今天用ajax的post请求后台,但是始终不执行回调函数,经查得知,ajax不执行回调函数的原因如下: jquery中规定返回的JSON字符串的KEY要用引号括起来,如{"result": 1}这样才可以. 所以是数据返回的格式问题,如把dataType设置为json,那么就需要按照json的格式将数据返回,如设置为text,则无需是json的数据格式. 原文地址:https://www.cnblogs.com/tianyublog/p/9251442.html

ajax success和error接收了哪些状态码

ajax和 Http Status 之前一直奇怪ajax发送请求后success 和 error 分界的状态码是多少, 主要很多将ajax的教程也没有提到, 例如, 我用ResponseEntity<Map>(map, HttpStatus.INTERNAL_SERVER_ERROR); (500)来响应, ajax会用error来接收, 然后在论坛看到有大佬说到了Ajax源码中有指明: 源码地址:https://github.com/jquery/jquery/blob/master/src

Selenium入门7 跳入/跳出frame

如果网页内嵌iframe,那么iframe里的元素是无法直接定位的,需要使用switch_to_frame进入frame操作: 之后需要再操作页面上非嵌入在iframe里的元素,需要使用switch_to_default_content跳回初始页面. 首先在脚本的文件夹里新建一个test3.html文件,将以下内容拷贝进去保存,作为测试用的页面.保存好了用浏览器打开看一下.也可找网上嵌入iframe的页面.自己写可以节约找网页的时间. <!DOCTYPE html> <html lang

ajax跳转到新的jsp页面(局部刷新)

ajax可以实现局部刷新页面,即在不刷新整个页面的情况下更新页面的局部信息. 项目中遇到一个问题:在用户列表也,当点击某个按钮时需要去查询用户的信息,查询成功跳转到用户详情界面:查询失败,则在原页面弹出提示信息. 想到两个解决办法: 方法一: 点击按钮,调用普通方法去查询用户信息,查询成功跳转到用户详情页面:查询失败,重定向调用查询用户列表的方法,在查询用户列表的方法结束后重新跳转到用户列表页面并弹出提示信息,相当于重新加载了用户列表页面. 方法二: 根据需求,不可以重新加载用户列表页面.用aj