如何更改handleError?

2024-04-04

我有 jquery 脚本,它应该向我的文件发送响应。如果一切顺利,我会成功,但如果错误,我应该得到错误函数,但我得到jQuery.handleError is not a function jQuery.handleError(s, xml, status, e);

如何将此handleError更改为其他函数?或者我能做什么?

jQuery.extend({

createUploadIframe: function(id, uri)
{
        //create frame
        var frameId = 'jUploadFrame' + id;
        var iframeHtml = '<iframe id="' + frameId + '" name="' + frameId + '" style="position:absolute; top:-9999px; left:-9999px"';
        if(window.ActiveXObject)
        {
            if(typeof uri== 'boolean'){
                iframeHtml += ' src="' + 'javascript:false' + '"';

            }
            else if(typeof uri== 'string'){
                iframeHtml += ' src="' + uri + '"';

            }   
        }
        iframeHtml += ' />';
        jQuery(iframeHtml).appendTo(document.body);

        return jQuery('#' + frameId).get(0);            
},
createUploadForm: function(id, fileElementId, data)
{
    //create form   
    var formId = 'jUploadForm' + id;
    var fileId = 'jUploadFile' + id;
    var form = jQuery('<form  action="" method="POST" name="' + formId + '" id="' + formId + '" enctype="multipart/form-data"></form>');    
    if(data)
    {
        for(var i in data)
        {
            jQuery('<input type="hidden" name="' + i + '" value="' + data[i] + '" />').appendTo(form);
        }           
    }       
    var oldElement = jQuery('#' + fileElementId);
    var newElement = jQuery(oldElement).clone();
    jQuery(oldElement).attr('id', fileId);
    jQuery(oldElement).before(newElement);
    jQuery(oldElement).appendTo(form);



    //set attributes
    jQuery(form).css('position', 'absolute');
    jQuery(form).css('top', '-1200px');
    jQuery(form).css('left', '-1200px');
    jQuery(form).appendTo('body');      
    return form;
},

ajaxFileUpload: function(s) {
    // TODO introduce global settings, allowing the client to modify them for all requests, not only timeout        
    s = jQuery.extend({}, jQuery.ajaxSettings, s);
    var id = new Date().getTime()        
    var form = jQuery.createUploadForm(id, s.fileElementId, (typeof(s.data)=='undefined'?false:s.data));
    var io = jQuery.createUploadIframe(id, s.secureuri);
    var frameId = 'jUploadFrame' + id;
    var formId = 'jUploadForm' + id;        
    // Watch for a new set of requests
    if ( s.global && ! jQuery.active++ )
    {
        jQuery.event.trigger( "ajaxStart" );
    }            
    var requestDone = false;
    // Create the request object
    var xml = {}   
    if ( s.global )
        jQuery.event.trigger("ajaxSend", [xml, s]);
    // Wait for a response to come back
    var uploadCallback = function(isTimeout)
    {           
        var io = document.getElementById(frameId);
        try 
        {               
            if(io.contentWindow)
            {
                 xml.responseText = io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;
                 xml.responseXML = io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;

            }else if(io.contentDocument)
            {
                 xml.responseText = io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;
                xml.responseXML = io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;
            }                       
        }catch(e)
        {
            jQuery.handleError(s, xml, null, e);
        }
        if ( xml || isTimeout == "timeout") 
        {               
            requestDone = true;
            var status;
            try {
                status = isTimeout != "timeout" ? "success" : "error";
                // Make sure that the request was successful or notmodified
                if ( status != "error" )
                {
                    // process the data (runs the xml through httpData regardless of callback)
                    var data = jQuery.uploadHttpData( xml, s.dataType );    
                    // If a local callback was specified, fire it and pass it the data
                    if ( s.success )
                        s.success( data, status );

                    // Fire the global callback
                    if( s.global )
                        jQuery.event.trigger( "ajaxSuccess", [xml, s] );
                } else
                    jQuery.handleError(s, xml, status);
            } catch(e) 
            {
                status = "error";
                jQuery.handleError(s, xml, status, e);
            }

            // The request was completed
            if( s.global )
                jQuery.event.trigger( "ajaxComplete", [xml, s] );

            // Handle the global AJAX counter
            if ( s.global && ! --jQuery.active )
                jQuery.event.trigger( "ajaxStop" );

            // Process result
            if ( s.complete )
                s.complete(xml, status);

            jQuery(io).unbind()

            setTimeout(function()
                                {   try 
                                    {
                                        jQuery(io).remove();
                                        jQuery(form).remove();  

                                    } catch(e) 
                                    {
                                        jQuery.handleError(s, xml, null, e);
                                    }                                   

                                }, 100)

            xml = null

        }
    }
    // Timeout checker
    if ( s.timeout > 0 ) 
    {
        setTimeout(function(){
            // Check to see if the request is still happening
            if( !requestDone ) uploadCallback( "timeout" );
        }, s.timeout);
    }
    try 
    {

        var form = jQuery('#' + formId);
        jQuery(form).attr('action', s.url);
        jQuery(form).attr('method', 'POST');
        jQuery(form).attr('target', frameId);
        if(form.encoding)
        {
            jQuery(form).attr('encoding', 'multipart/form-data');               
        }
        else
        {   
            jQuery(form).attr('enctype', 'multipart/form-data');            
        }           
        jQuery(form).submit();

    } catch(e) 
    {           
        jQuery.handleError(s, xml, null, e);
    }

    jQuery('#' + frameId).load(uploadCallback   );
    return {abort: function () {}}; 

},

uploadHttpData: function( r, type ) {
    var data = !type;
    data = type == "xml" || data ? r.responseXML : r.responseText;
    // If the type is "script", eval it in global context
    if ( type == "script" )
        jQuery.globalEval( data );
    // Get the JavaScript object, if JSON is used.
    if ( type == "json" )
        eval( "data = " + data );
    // evaluate scripts within html
    if ( type == "html" )
        jQuery("<div>").html(data).evalScripts();

    return data;
}
})

handleError从 jquery 1.5 及更高版本开始已弃用。我从你正在使用的插件切换到这个插件:http://www.jainaewen.com/files/javascript/jquery/iframe-post-form.html http://www.jainaewen.com/files/javascript/jquery/iframe-post-form.html

它更简单,并且很容易将插件修改为您的特定形式。

你可以尝试自己写一个handleError正如这篇文章所建议的那样:何时从 jQuery 中删除了handleError? https://stackoverflow.com/questions/6329589/when-was-handleerror-removed-from-jquery

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改handleError? 的相关文章

  • 使用 Jquery 附加链接

    我正在尝试根据您所在的页面添加指向我的页面的链接 我使用 Squarespace 来构建这个网站 因此对我来说最简单的方法是使用 Javascript 或 Jquery 我认为我缺少的这个语法有问题 我已经尝试用 来打破引号 但这不起作用
  • 未捕获的类型错误:无法读取未定义的属性“prop”

    我有 6 个输入复选框 如果选中的复选框超过 3 个 则最后一个复选框将被取消选中 为了更好地理解 请参阅我之前的question https stackoverflow com questions 35195235 if checkbox
  • jQuery 选择器定位具有 id AND class 的元素不起作用

    我有以下事件处理函数 jQuery document on click button submitb function e alert jQuery 包含在 html 文档中 但是 如果我点击 div class submitb Go di
  • 将字符串(是一个函数)转换回 Javascript 中的函数

    我在下面将此函数作为字符串 我如何将其转换回函数 我正在从 JQuery 事件中提取事件处理程序 我想将它们存储为字符串 然后将它们转换回来 因为它们将保存在 mySQL 中 function if GActiveClick return
  • jquery ajax加载后丢失CSS

    大家知道如何解决 load Ajax 请求后的 css 问题吗 例如 如果我想从网页加载 DIV 在我的 Ajax 请求之后 container load path to div div id 我丢失了与该 div 关联的所有 css 和脚
  • 什么是 TinyMCE jQuery 包?

    我被要求在项目中使用 TinyMCE 编辑器 在下载页面上 有一个主包 然后是一个 jQuery 包 This package contains special jQuery build of TinyMCE and a jQuery in
  • ASP.NET JQuery AJAX POST 返回数据,但在 401 响应内

    我的应用程序中有一个网页 需要调用我设置的 Web 服务来返回对象列表 这个调用是这样设置的 document ready function var response ajax type POST contentType applicati
  • jQuery 如何实现延迟滑动?

    我正在使用以下 jQuery div 框向上滑动 5 秒后淡出 有没有办法实现这一点 因为该框需要很长时间才能出现 document ready function load limit slideUp 500 have tried fast
  • 将 jQuery 验证器规则添加到 ASP 中动态创建的元素

    我在 MVC3 项目的页面上有一些动态插入的表单字段 通常我们会在服务器端添加 jQuery 验证 但在这种情况下我们不能 UI 中的多个字段生成一个隐藏字段的值 这就是提交的内容 我们无法针对隐藏字段进行验证 因此我们必须为用户可以看到的
  • jQuery 计算所有文本字段中值的总和

    我有一个订单表单 其中包含大约 30 个包含数值的文本字段 我想计算所有这些模糊值的总和 我知道如何选择所有文本字段 但不知道如何循环它们并添加它们的所有值 document ready function price blur functi
  • 如何防止滚动事件多次触发?

    我尝试防止多次滚动事件 例如250 毫秒内仅发生一个事件 为此我在互联网上找到了下面的去抖动功能 但我无法正确使用它 怎么了 function debounce func wait immediate var timeout return
  • 如何从 ui 和事件获取类/id

    如何从中获取任何元素的 id 和类名ui event任何函数 请参阅下文以获得清晰的理解 div div div div div div div div JS function drag class draggable drop class
  • 使用AJAX通过WebApi调用Delete方法

    我在 ASP Net Web 应用程序中使用 WebApi 我在控制器中有一个名为Delete我想通过使用 jQuery 的 AJAX 方法来访问此方法 下面是我的代码 Authorize public int Delete int pro
  • Imgur API 版本 3 JavaScript 上传示例

    我在网上找到的所有示例都是早期版本的 Imgur API 或非 JS 代码 所有这些都使用新 API 中不存在的 API 密钥 相反 你会得到一个client id and secret 任何人都有示例代码 展示如何使用其 API 版本 3
  • 使用 jQuery 将光标位置处的文本插入到 CKEditor

    我正在尝试使用 jQuery 将一段文本添加到现有的 CKEditor 单击链接时需要完成此操作 我尝试了这个解决方案 它适用于常规文本区域 但不适用于 CKEditor jQuery fn extend insertAtCaret fun
  • 数据表“footerCallback”函数未在页脚中显示结果

    我尝试获取每列的总和并将结果显示在页脚中 我在用着 页脚回调 https datatables net reference option footerCallbackDatatables提供的功能 但是它在页脚中没有显示任何内容 数据表解释
  • 很奇怪!调用 window.location 或 location.replace 会重定向到该页面,然后再次返回!

    我处于调试模式 因此我可以看到正在访问哪个页面 当我打电话时window location or window location replace 它会转到该页面 然后返回原始页面 怎么会这样 解决方案是添加 window location
  • 我可以在不使用 Jquery UI 的情况下获得 Jquery Pulsate Effect 吗?

    我遇到了由于某种原因无法使用 Jquery UI 的情况 我正在尝试在不使用 Jquery UI 的情况下获得 Jquery UI 脉冲效果 与此链接类似 http docs jquery com UI Effects Pulsate ht
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • 角度 ng-repeat 根据条件添加样式

    我在 div 列表上使用 ng repeat 并且在渲染此 div 的 json 中手动添加项目 我需要定位我在 json 中添加的最后一个 div 它会自动在屏幕上渲染 即 couse 光标所在的位置 其余部分保持在相同位置 但没有给出渲

随机推荐

  • 使用 iText 从 *.ttf 文件创建字体

    这是我的 Resources class 中的一个方法 public static Font loadFont String fontFileName BaseFont base null try base BaseFont createF
  • XStream 和下划线

    看起来 XStream com thoughtworks xstream gt xstream 1 4 2 正在以一种非常奇怪的方式处理元素和属性名称中的下划线 我需要从客户那里获取并解析其属性中包含下划线的 xml 这是我第一次尝试 XS
  • 使用 Rails 设计首次登录

    如何在自定义会话控制器上确定用户是第一次登录 我希望能够创建会话并重定向到welcome index如果是第一次 否则它将被重定向到root url 我的代码如下 class MysessionsController lt Devise S
  • Java Logger:无法在 logger.properties 文件中设置日志级别

    我有一个使用maven 构建的java 项目 我在用java util logging Logger在我的项目中并想使用logger properties文件 不是命令行 我创建了一个logger properties像这样的文件 hand
  • 如果没有观察到状态,虚拟 DOM 实现与 createDocumentFragment() 有何不同?

    虚拟 DOM 是 DOM 的轻量级副本 在将其插入实际 DOM 之前在本地进行维护 缓存 我们可以根据需要更改它 然后保存到我们真实的 DOM 树中 它使用高效的 diff 算法来来回更新更改和其他用例 这一切都是为了避免直接操作 DOM
  • 使用 API Gateway 处理 AWS Lambda 函数中的错误

    每次我遇到语法错误或者我只想在 AWS Lambda 函数中发送自定义错误时 我都会收到相同的 502 Bad Gateway 响应 内部服务器错误 我尝试了这个简单的代码 module exports saveImage event co
  • 引发了“System.OutOfMemoryException”类型的异常。为什么?

    我有一个动态查询 返回大约 590 000 条记录 第一次运行成功 但再次运行时 我不断收到System OutOfMemoryException 发生这种情况的原因有哪些 错误发生在这里 public static DataSet Get
  • 让 tesseract 只识别数字

    我正在尝试改进我制作的 OCR 程序来读取我正在使用的某个图像的布局 现在 我希望我的 OCR 程序只能识别数字 0 9 我尝试遵循问题的解决方案 限制 tesseract 正在寻找的字符 https stackoverflow com q
  • 更新Cesium回调属性导致实体闪烁

    这是一些可以粘贴到铯沙堡中的代码 它将一个实体添加到地图中 然后每秒更新位置属性的 CallbackProperty 每次更新时实体都会闪烁 var viewer new Cesium Viewer cesiumContainer var
  • 如何使用 Swift 从 URL 获取 HTML 源代码

    我需要查看某个 URL 给出的页面的 HTML 如果我有这个 使用 Swift 获取该 URL 的 HTML 源的最有效和同步的方法是什么 我无法在网上找到一种简洁的方法将其返回到变量中 而不是将其打印在completionHandler
  • React Native,更改 React Navigation 标题样式

    我正在实施反应导航 https reactnavigation org在我的 React Native 应用程序中 我想更改标题的背景和前景色 我有以下内容 Sample React Native App https github com
  • 终结者:如何在拆分窗格中打开选项卡

    每当我尝试创建新选项卡时 它总是在窗口级别打开 我想要实现的是在我正在使用的当前活动拆分窗格中打开一个选项卡 可以这样做吗 我在过去的三四年里一直在使用终结者 但我还没有看到你所要求的可能 话虽这么说 您可以在此处提交功能请求 https
  • Magento - 公共产品页面中的 404 错误

    我有一个 Magento 1 7 网页宽度 2 个不同语言的商店 每个商店的宽度不同 当我为第二个商店启用产品时 第二个商店的公共产品页面停止运行 现在出现了 404 错误 但第一家商店的产品页面仍然表现良好 所有其他页面均正常工作 htt
  • 无法从命令行运行 swing

    我使用Windows中的命令行来编译然后执行我的java程序 我去了http java sun com docs books tutorial uiswing start compile html http java sun com doc
  • 对所有当前播放的视频执行一个 AVPlayer 的 AVPlayerItemDidPlayToEndTime 操作

    问题 在有播放器的集合视图单元格中 如果我同时播放两个视频并寻找第一个视频结束然后AVPlayerItemDidPlayToEndTime发射了两次并且两个视频都重新启动 在集合视图单元格中我有 override func awakeFro
  • SQL 到 outfile - 文件存储在哪里? (MySQL、Windows)

    我正在使用 MySQL 并希望将以下查询的结果存储在我的计算机本地的 csv 文件中 SELECT INTO OUTFILE mysqlresults csv FIELDS TERMINATED BY OPTIONALLY ENCLOSED
  • 当给定这个模式与整数值匹配时,为什么 scala 会抱怨?

    Goal 编写一个函数 生成一个排除指定字符 由索引标识 的新字符串 Example takeAllExcept 0 abc 回报bc takeAllExcept 1 abc 回报ac takeAllExcept 2 abc 回报ab 我最
  • Visual Studio 2010 - 推荐的扩展[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 启动时加载 FastAPI 项目中的模型

    所以我目前正在开发一个为多种 NLP 服务提供服务的 FastAPI 项目 为此 我想提供来自 spacy 和 Huggingface 的不同模型 自从那些模型相当大的推理时间为每个发布请求加载模型相当长 我的想法是在 FastAPI 启动
  • 如何更改handleError?

    我有 jquery 脚本 它应该向我的文件发送响应 如果一切顺利 我会成功 但如果错误 我应该得到错误函数 但我得到jQuery handleError is not a function jQuery handleError s xml