GVKun编程网logo

jquery ajax 直接跳 error(ajax直接走error)

19

在这篇文章中,我们将为您详细介绍jqueryajax直接跳error的内容,并且讨论关于ajax直接走error的相关问题。此外,我们还会涉及一些关于ajaxfileupload.js结合低版本jqu

在这篇文章中,我们将为您详细介绍jquery ajax 直接跳 error的内容,并且讨论关于ajax直接走error的相关问题。此外,我们还会涉及一些关于ajaxfileupload.js结合低版本jquery报异常:TypeError: jQuery.handleError is not a function、jquery Ajax $.ajaxError、jquery ajax 200 OK JSON.ParseError、jquery ajax error 函数和及其参数详细说明的知识,以帮助您更全面地了解这个主题。

本文目录一览:

jquery ajax 直接跳 error(ajax直接走error)

jquery ajax 直接跳 error(ajax直接走error)

使用 jquery 的 ajax 在 a 标签点击时异步提交表单,后台还未传回数据,直接进入 error, 经过排查,时 a 标签中 onclick 的问题,去掉即可

      /***保存按钮点击方法开始*********/
      $("#addBtn").click(function(){
          var addForm = $("#addForm");
          ajaxSubForm();
      });
      /***保存按钮点击方法结束*********/

原先的 a 标签

1 <a id="addBtn" onclick="$(''#addForm'').submit();" href="javascript:void(0);" class="submit" style="display: none;" >保存</a>

修改后

1 <a id="addBtn"  href="javascript:void(0);" class="submit" style="display: none;" >保存</a>

ajax

 1 /******异步提交表单方法开始********/
 2       function ajaxSubForm(form){
 3           var data = $("#addForm").serialize();
 4           $.ajax({ 
 5               type:"post",  
 6               url:"${ctx }/admin/test/ajaxAddOrUpRes",
 7               data:data,  
 8               dataType:"json", 
 9               success:function(data){
10                   //var dataObj = JSON.parse(data);
11                   console.log("添加返回——————————————--"+data);
12                   if(data.res === 1){//成功
13                       $.jBox.tip(data.msg);
14                           alert(data.idP+data.msg);
15                           rereshNode(data.idP);
16                   }else{//失败
17                       $.jBox.tip(data.msg);
18                   }
19                   return data;
20               },
21               error:function(){ 
22                   alert("请求失败123");
23              }
24          });
25       }
26       /******异步提交表单方法结束********/

 

 

ajaxfileupload.js结合低版本jquery报异常:TypeError: jQuery.handleError is not a function

ajaxfileupload.js结合低版本jquery报异常:TypeError: jQuery.handleError is not a function

今天刚打个一个技术群,里面有人问标题上的问题,嘿,我恰好遇过,现在大家至少也在用jquery1.9以上的版本,ajaxfileupload的版本早就不更新了,大家可以下载看:地址这里,它例子里使用的Jquery是1.2的,好老呀。。。这个问题,我以前开发过程中遇过,网上说经测试(我是没测试),是版本1.4.2之前的版本才有handlerError方法,之后就不存在了,(你存在,我深深的脑海里。。。),为了能够继续使用ajaxfileupload上传我们的附件,只好将代码拷进我们的项目中的ajaxfileupload.js文件中,如下:

Js代码
  1. handleError:function(s,xhr,status,e){
  2. //Ifalocalcallbackwasspecified,fireit
  3. if(s.error){
  4. s.error.call(s.context||s,e);
  5. }
  6. //Firetheglobalcallback
  7. if(s.global){
  8. (s.context?jQuery(s.context):jQuery.event).trigger("ajaxError",[xhr,s,e]);
  9. }

这样,就可以用了

jquery Ajax $.ajaxError

jquery Ajax $.ajaxError

我有一堆包含成功和错误条件的ajax调用,如下所示:

$.ajax({
        url: 'Remote/State.cfc',type: "POST",data: {
            'method': 'UpdateStateName','StateID': StateID,'StateName': StateName
        },success: function(result){
            if (isNaN(result)) {
                $('#msg').text(result).addClass('err');
            } else {
                $('#' + result + ' input[name="StateName"]').addClass('changed');
            };
        },error: function(msg){
            $('#msg').text('Connection error').addClass('err');
        }
    });

所有错误条件都相同.换句话说,他们都在msg id中加上短语“连接错误”.

Q1:我可以删除所有这些并替换它们

$().ajaxError(function(myEvent,request,settings,thrownError) {
    $('#msg').text('Connection error').addClass('err');
});

Q2:您将如何使用myEvent并请求显示更具信息性的错误消息?

解决方法

Q1.您可以像这样使用 .ajaxError()

$(document).ajaxError(function() {
  $('#msg').text('Connection error').addClass('err');
});

…或者如果整个时间都存在#msg元素,您可以这样做:

$('#msg').ajaxError(function() {
  $(this).text('Connection error').addClass('err');
});

Q2.您可以使用ajaxError传入的处理程序参数,它使用以下格式:
handler(event,XMLHttpRequest,ajaxOptions,thrownError),如下所示:

$(document).ajaxError(function(event,options,error) {
  $('#msg').addClass('err')
     .text('Connection error: ' + error + ' when connecting to ' + options.url);
});

注意:在jQuery的早期版本中,这将通过$.ajaxError()来完成,因为1.7不再是这种情况,你需要将它附加到你想要它的jQuery对象上,或者如果你不关心则记录关于一个特定的元素.

jquery ajax 200 OK JSON.ParseError

jquery ajax 200 OK JSON.ParseError

我有一个控件,它有一个文本框,当它的内容发生变化时,会使这个 javascript函数变得棘手:

page参数是document.URL,因为控件没有附加.asxc页面,fieldValue是文本框的值.

function UpdateFieldsOnListSelection(page,fieldValue) {
    $.ajax({
        type: "POST",url: page + "/IsSelectedListPictureLibrary",data: { "libraryInfo": fieldValue },contentType: "application/json; charset=utf-8",dataType: "json",success: function (data) {
            alert("Success!");
        },error: function (jqXHR,textStatus,errorThrown) {
            alert("jqXHR: " + jqXHR.status + "\ntextStatus: " + textStatus + "\nerrorThrown: " + errorThrown);
        }
    });
};

它不断抛出这个错误:

jqXHR: 200
textStatus: parsererror
errorThrown: SyntaxError: JSON.parse: unexpected character

IsSelectedListPictureLibrary的代码:

[WebMethod]
public static bool IsSelectedListPictureLibrary(string libraryInfo)
{
    if (string.IsNullOrEmpty(libraryInfo)) return false;

    var common = new Utility();
    var storedLibraryInfo = common.GetStoredLibraryInfo(libraryInfo);

    if (storedLibraryInfo == null) return false;

    var web = SPContext.Current.Site.OpenWeb(storedLibraryInfo.WebId);
    var spList = web.Lists[storedLibraryInfo.LibraryId];

    if (spList.BaseTemplate == SPListTemplateType.PictureLibrary)
    {
        web.dispose();
        return true;
    }

    web.dispose();
    return false;
}

我已经尝试将ajax中的json更改为jsonp,但发生了同样的错误.
我尝试改变数据格式.

有任何想法吗?

解决方法

尝试从Ajax参数中删除contentType和dataType,并自动识别它们

jquery ajax error 函数和及其参数详细说明

jquery ajax error 函数和及其参数详细说明

使用 jquery 的 ajax 方法向服务器发送请求的时候,常常需要使用到 error 函数进行错误信息的处理,本文详细的说明了 ajax 中 error 函数和函数中各个参数的用法。

一般 error 函数返回的参数有三个: function (jqXHR jqXHR, String textStatus, String errorThrown)。常见调用代码如下:

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

这里对这三个参数做详细说明。

第一个参数 jqXHR jqXHR:这里的 jqXHR 是一个 jqXHR 对象,在 Jquery1.4 和 1.4 版本之前返回的是 XMLHttpRequest 对象,1.5 版本以后则开始使用 jqXHR 对象,该对象是一个超集,就是该对象不仅包括 XMLHttpRequest 对象,还包含其他更多的详细属性和信息。

这里主要有 4 个属性:

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

第二个参数 String textStatus:返回的是字符串类型,表示返回的状态,根据服务器不同的错误可能返回下面这些信息:"timeout"(超时), "error"(错误), "abort"(中止), "parsererror"(解析错误),还有可能返回空值。

第三个参数 String errorThrown:也是字符串类型,表示服务器抛出返回的错误信息,如果产生的是 HTTP 错误,那么返回的信息就是 HTTP 状态码对应的错误信息,比如 404 的 Not Found,500 错误的 Internal Server Error。

示例代码:

    $.ajax({
        url: ''/AJAX请求的URL'',            
        success: function (data) {
            alert(data);
        },
        error: function (jqXHR, textStatus, errorThrown) {
            /*弹出jqXHR对象的信息*/
            alert(jqXHR.responseText);
            alert(jqXHR.status);
            alert(jqXHR.readyState);
            alert(jqXHR.statusText);
            /*弹出其他两个参数的信息*/
            alert(textStatus);
            alert(errorThrown);
        }
    });

 

 

关于jquery ajax 直接跳 errorajax直接走error的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于ajaxfileupload.js结合低版本jquery报异常:TypeError: jQuery.handleError is not a function、jquery Ajax $.ajaxError、jquery ajax 200 OK JSON.ParseError、jquery ajax error 函数和及其参数详细说明等相关内容,可以在本站寻找。

本文标签:

上一篇.Net转Java自学之路—基础巩固篇二十八(Cookie、Session)(.net转型java)

下一篇Spring Boot用Docker部署(spring boot docker部署)