首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

IE在设置dataType脚本时不触发jQuery Ajax成功

IE在设置dataType为"script"时不会触发jQuery Ajax的成功回调函数。这是因为在IE浏览器中,当dataType设置为"script"时,jQuery会使用不同的方式来处理返回的脚本内容。

在其他浏览器中,当dataType设置为"script"时,jQuery会将返回的脚本内容作为一个脚本标签插入到页面中,并且会触发成功回调函数。但是在IE浏览器中,jQuery会使用eval函数来执行返回的脚本内容,而不是将其插入到页面中。

由于在IE中使用eval函数执行脚本内容,不会触发脚本标签的加载事件,因此也就无法触发成功回调函数。这是一个已知的jQuery在IE中的行为。

解决这个问题的方法是,可以在成功回调函数中手动处理返回的脚本内容。例如,可以使用eval函数来执行脚本内容,并在执行完成后手动触发成功回调函数。

以下是一个示例代码:

代码语言:txt
复制
$.ajax({
  url: "your-url",
  dataType: "script",
  success: function(data) {
    // 手动执行返回的脚本内容
    eval(data);
    // 手动触发成功回调函数
    successCallback();
  }
});

在这个示例中,我们在成功回调函数中使用eval函数执行返回的脚本内容,并在执行完成后手动触发了一个名为successCallback的函数。

需要注意的是,使用eval函数执行返回的脚本内容存在一定的安全风险,因为它可以执行任意的JavaScript代码。因此,在实际应用中,应该谨慎使用eval函数,并确保返回的脚本内容是可信的。

推荐的腾讯云相关产品:腾讯云函数(SCF)。腾讯云函数是一种无服务器的云计算服务,可以让您无需管理服务器即可运行代码。您可以使用腾讯云函数来处理各种类型的请求,包括处理Ajax请求返回的脚本内容。您可以通过腾讯云函数的触发器功能来触发函数的执行,并在函数中处理返回的脚本内容。腾讯云函数的详细介绍和使用方法可以参考腾讯云函数产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Ajax进阶】跨域和JSONP的学习

CORS:出现的较晚,它是W3C标准,属于跨域Ajax请求的根本解决方案,支持GET和POST请求,缺点是兼容某些低版本的浏览器。...jQuqery中的JSONP jquery提供的$.ajax()函数,除了可以发起真正的Ajax数据请求之外,可以通过改变数据类型使其能够发起JSONP数据请求。...发起JSONP请求的时候,动态向header中append一个script标签 JSONP 请求成功后,动态从header中移除刚才append进去的script标签 案例——淘宝搜索   效果 实现搜索框...防抖的应用场景 用户输入框中连续输入一串字符,可以通过防抖策略,只输入完后,才执行查询的请求,这样可以有效减少请求次数,节约请求资源;   实现防抖   什么是节流 节流策略,顾名思义,可以减少一段时间内事件的触发频率...节流的应用场景 鼠标连续不断的触发事件(如点击),只单位时间内触发一次; 懒加载要监听计算滚动条的位置,但不必每次滑动都触发,可以降低计算机的频率,而不必去浪费CPU资源。

1.2K30
  • 史上最全的AJAX

    和后台交互传输数据的格式之一· 利用AJAX可以做: 1丶注册,输入用户名自动检测用户是否已经存在· 2丶登录,提示用户名密码错误· 3丶删除数据行时,将行ID发送到后台,后台在数据库中删除,数据库删除成功后...ajax主要就是使用[XmlHttpRequest]对象未完成请求的操作,该对象主浏览器中均存在(除早期的IE),AJAX首次出现IE5.5存在(Active控件)· 1丶XmlHttpRequest...Function onreadystatechange 当readyState的值改变自动触发执行其对应的函数(回调函数) 3....Ajax jQuery其实就是一个Javascript的类库,其将复杂的功能做了上层封装,使得开发者可以基础上写更少的代码实现更多的功能· · jQuery不是生产者,而是大自然的搬运工· · jQuery...首先会发送“预检”请求,如果‘预检’成功,则发送真实数据·   ·‘预检’请求,允许请求方则 需要服务器 设置响应头:Access-Control-Request-Method   ·‘预检’请求,

    4.3K20

    jqueryajax参数详解

    也就是说,让回调函数内 this 指向这个对象(如果设定这个参数,那么 this 就指向调用本次 AJAX 请求传递的 options 参数)。...提供 data 和 type 两个参数:data 是 Ajax 返回的原始数据,type 是调用 jQuery.ajax 提供的 dataType 参数。...除非设置了 "cache" 参数。注意:远程请求(不在同一个域下),所有 POST 请求都将转为 GET 请求。...设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 可用于控制不同的 Ajax 事件。...通常只本地和远程的内容编码不同时使用。 success 类型:Function 请求成功后的回调函数。 参数:由服务器返回,并根据 dataType 参数进行处理后的数据;描述状态的字符串。

    2.1K30

    同源策略和跨域解决方案

    失败 不同端口 ( 81和80) http://a.opq.com/dir/other.html 失败 不同域名 ( xyz和opq) 同源策略是什么 同源策略是浏览器的一个安全功能,不同源的客户端脚本没有明确授权的情况下...所以xyz.com下的js脚本采用ajax读取abc.com里面的文件数据是会被拒绝的。 同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。.../3.3.1/jquery.js"> function rion() { console.log("选我后悔!")...首先会发送“预检”请求,如果“预检”成功,则发送真实数据。...“预检”请求,允许请求方式则需服务器设置响应头:Access-Control-Request-Method “预检”请求,允许请求头则需服务器设置响应头:Access-Control-Request-Headers

    1.6K30

    AJAX的一个简单实例,跨域的解决,使用JQuery来进行ajax的调用

    1.什么是AJAX ajax(Asynchronous Javascript And XML),中文名为异步的js和xml。可以刷新网页的情况下与后台服务器进行通讯,加强用户的体验感。...>//引入jq库 $.ajax({ type: "GET", url: "请求url", dataType: "json", success: function(data) { //请求成功后回调函数...:value }, dataType: "json", success: function(data) { //请求成功后回调函数 }, error: function(jqXHR){...//请求失败后回调函数 }, }); 4.解决跨域问题 http://www.abc.com:8080/index.php 协议.二级域名.域名:端口号/目标脚本文件 跨域是用ajax异步请求时经常遇到的问题...,只要协议、域名、端口号其中一个不同,就产生了跨域访问,解决的方法很简单,建议利用XHR2方法,在后台进行操作从而实现跨域支持IE9以上服务器设置以下2个请求头就可以解决: header('Access-Control-Allow-Origin

    6.3K10

    Ajax详解

    XMLHttpRequest是ajax的核心机制,它是IE5中首先引入的,是一种支持异步请求的技术。 简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而阻塞用户。...这个差异主要体现在IE和其它浏览器之间。...jQuery 将自动替换 ? 为正确的函数名,以执行回调函数  $.ajax 中的contentType http 请求中,get 和 post 是最常用的。... jqueryajax 中, contentType都是默认的值:application/x-www-form-urlencoded,这种格式的特点就是,name/value 成为一组,每组之间用...$.ajax 中的dataType 预期服务器返回的数据类型。如果指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如XML MIME类型就被识别为XML。

    2.1K50

    详细解读JqueryAjax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    请求开始触发。...如果需要,你可以在这里设置XMLHttpRequest对象 ajaxSend (全局事件) 请求开始前触发的全局事件 success (局部事件) 请求成功触发。...你无法同时执行success和error两个回调函数 ajaxError 全局事件全局的发生错误时触发 complete (局部事件) 不管你请求成功还是失败,即便是同步请求,你都能在请求完成触发这个事件...ajaxComplete 全局事件全局的请求完成触发 ajaxStop (全局事件) 当没有Ajax正在进行中的时候,触发 局部事件之前的函数中都有介绍,我们主要来看看全局事件。...单个AJAX请求,你可以将global的值设为false,以将此请求独立于AJAX的全局事件。

    3.8K100

    JavaWeb——AJAX异步技术实现方式与案例实战(原生的JS方式、使用JQuery方式)

    2 AJAX实现方式 AJAX实现方式有两种: 1)原生的JS实现方式:了解即可,了解即可,了解即可,实际项目中基本用的是下一种; 2)JQuery实现方式:.ajax()、.get()、 2.1 原生...【练习案例】: 1)一个html页面中点击按钮,发送请求至AjaxServlet,该Servlet中打印请求的信息; 2)为了演示AJAX异步的效果,AjaxServlet中获取请求参数后,加5s...2)首先看建立连接采用同步请求(xmlhttp.open方法参数为true),浏览器端无需死等响应,可以文本框中输入: ?...2.2 JQuery方式实现AJAX JQuery实现方式有三种:.ajax()、.get()、 1)$.ajax() 【语法】:$.ajax({键值对});其中参数比较多,如下是常用的: url:请求路径...,data为接收的响应值 error:function () { }:响应出错,会执行的回调函数 dataType设置接收到响应数据的格式 【代码实现】:还是用上一节的AjaxServlet,此处使用

    3.9K30

    JSONP原理以及示例(jsonp示例)

    JSONP原理 首先我们需要明白,页面上直接发起一个跨域的ajax请求是不可以的,但是,页面上引入不同域上的js脚本却是可以的,就像你可以自己的页面上使用 标签来随意显示某个域上的图片一样...JSONP不支持用async:false的方法设置同步。 3)JSONP的优点: 由于JSONP对于老浏览器兼容性方面比较良好,因此,对于那些对IE8以下仍然需要支持的网站来说,仍然被广泛应用。...示例: jquery的jsonp跨域示例: 1、配置dataType: 服务端代码同上,ajax请求只需配置一个dataType:’jsonp’,就可以发起一个跨域请求。...我们都知道,ajax执行成功后会调用success函数,那上面那种指定了jsonp后,会不会调用success呢?...jsonp的实现方式其实就是脚本请求地址的方式一样,只是ajax的jsonp对其做了封装,所以可想而知,jsonp是不支持POST方式的。

    23710

    高级前端:详解手写原生Ajax的实现

    ,因此,该事件一次请求中会被多次触发 xhr.onreadystatechange = function() { console.log('readyState属性发生改变了') } 所以,我们可以...文章开头提到,JQuery早已对Ajax请求进行了成熟的封装,所以我们可以借鉴它,甚至尽可能地去模仿它进行封装,在这之前,我们得先了解JQueryAjax的使用 (1)JQuery中的Ajax 这里我找来了几段使用...XHR对象(其中主要是兼容IE5和IE6) 我们都知道JQuery都是将方法封装在一个名为 $ 的对象中的,我们也这么做 let $ = { createXHR: function() { //...方法 JQuery中还有一个 ajax 方法,其既可以发送 get 请求,也可以发送 post 请求,该方法可传入多种参数,且支持 promise 处理回调函数 let $ = { createXHR...CORS(跨域资源共享)要求我们发送请求自定义一个HTTP头部与服务器进行沟通,我们只需要设置一个名为 Origin 的头部,值为当前页面的源信息(协议、域名、端口),例如Origin : http

    1.7K20

    异步编程Ajax的详解,并对其进行封装整理

    ,因此,该事件一次请求中会被多次触发 xhr.onreadystatechange = function() { console.log('readyState属性发生改变了') } 所以,我们可以...文章开头提到,JQuery早已对Ajax请求进行了成熟的封装,所以我们可以借鉴它,甚至尽可能地去模仿它进行封装,在这之前,我们得先了解JQueryAjax的使用 (1)JQuery中的Ajax 这里我找来了几段使用...XHR对象(其中主要是兼容IE5和IE6) 我们都知道JQuery都是将方法封装在一个名为 $ 的对象中的,我们也这么做 let $ = { createXHR: function() { //...方法 JQuery中还有一个 ajax 方法,其既可以发送 get 请求,也可以发送 post 请求,该方法可传入多种参数,且支持 promise 处理回调函数 let $ = { createXHR...CORS(跨域资源共享)要求我们发送请求自定义一个HTTP头部与服务器进行沟通,我们只需要设置一个名为 Origin 的头部,值为当前页面的源信息(协议、域名、端口),例如 Origin : http

    1.6K20
    领券