`
deng131
  • 浏览: 675190 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

jsonp动态创建script方式IE9问题

阅读更多
在IE9浏览器创建一个script元素,然后指定其src属性url请求地址jsonp方式回调返回remotor.callback({name:'demo'});

在IE8里是会正常调用remotor.callback函数,并且每次动态修改该script标签的src请求地址也能正确执行js。

但在IE9第一次创建了script元素,然后指定其src属性,返回的js代码是可以执行,第二次请求返回的js代码不会执行。

解决方案是每次都把前一个创建的script元素移除重新新创建一个script元素。Firefox以及其他浏览器都可以采取这样的策略。IE9也在往w3c标准走,IE9中的动态创建script已经支持onload事件。
1
0
分享到:
评论

相关推荐

    jsonp.pdf文件

    当需要从不同域获取数据时,可以通过在客户端动态创建一个`<script>`标签,并将请求URL设置为其`src`属性值的方式,实现跨域请求。服务器端则需要返回一个JavaScript函数调用,其中包含所需的JSON数据。 **实现步骤...

    仿百度jsonp写的历史记录和搜索框

    这个过程可以通过创建一个新的`<script>`标签,并设置其`src`属性指向服务器接口,同时添加一个回调函数来接收数据。 5. **展示历史记录**:收到服务器返回的JSON数据后,遍历数组,将历史记录动态添加到页面的展示...

    jsonp实现跨域

    2. **创建`<script>`标签**:动态创建`<script>`标签,设置其`src`属性为服务器的URL,并将回调函数名添加到查询字符串中,如`src="http://example.com/data?callback=handleData"`。 3. **服务器端处理请求**:接收...

    IE7 Ajax跨域问题

    1. **JSONP (JSON with Padding)**:这是一种常见的跨域解决方案,它通过动态创建`<script>`标签来加载来自其他域的JavaScript代码,因为脚本标签不受同源策略限制。服务器返回的JSON数据被包装在一个函数调用中,...

    AJax与Jsonp跨域访问问题小结

    JSONP允许通过动态创建<script>标签的方式,绕过浏览器的同源策略限制,实现跨域请求数据。 JSONP的基本原理是利用<script>标签不受同源策略限制的特性。在客户端,我们创建一个<script>元素,将需要请求的URL以...

    浅析JSONP技术原理及实现

    JSONP的基本工作原理是动态创建一个`<script>`元素,将其`src`属性指向含有JSON数据的跨域URL,并在URL中指定一个回调函数(callback function),服务器在返回数据时将数据作为参数传递给该回调函数。 1. JSONP的...

    JSONP跨域请求实例详解

    在JSONP的工作原理中,前端通过动态创建`<script>`标签并设置`src`属性指向服务端的API接口。这个接口应该设计为接收一个特定的回调函数名参数,并返回一个JavaScript函数调用的形式,例如`jsonpCallback({key: '...

    解决jQuery使用JSONP时产生的错误

    JSONP利用HTML `<script>` 标签不受同源策略限制的特点,通过动态创建 `<script>` 标签引入目标URL,并提供一个回调函数名作为参数,服务端返回的响应数据会被包裹在这个回调函数内部,从而实现跨域数据的获取。...

    使用AngularJS 跨站请求如何解决jsonp请求问题

    JSONP是一种绕过同源策略的非官方跨域数据交互协议,它的工作原理是通过动态创建`<script>`标签,利用其可以加载不同源脚本的特点,将一个函数名作为参数传递给服务器,服务器返回一个调用该函数并带有JSON数据的...

    原生js jquery ajax请求以及jsonp的调用方法

    JSONP(JSON with Padding)是一种跨域数据交互协议,它的基本思想是利用`<script>`标签可以跨域加载资源的特点,通过动态创建`<script>`标签,将回调函数名称和要请求的数据作为参数拼接成一个JS脚本,服务器返回这...

    使用原生js封装的ajax实例(兼容jsonp)

    对于JSONP请求,我们需要创建一个新的`<script>`元素,将其添加到`body`中,并动态设置其`src`属性,以便向服务器发出请求。同时,我们需要定义一个全局函数(在本例中为`wangxiao`),用于处理服务器返回的数据。当...

    跨域解决之JSONP和CORS的详细介绍

    JSONP通过动态创建`<script>`元素,并设置其src属性为跨域的服务器地址,并在服务器端返回一个函数调用形式的数据(如`callback({name: 'value'})`)。客户端预先定义好回调函数,当请求返回后,直接在全局作用域中...

    原生JavaScript实现AJAX、JSONP

    JSONP的原理是利用`<script>`标签不受同源策略限制的特点,通过动态创建`<script>`元素,并设置其`src`属性指向服务器提供的带有回调函数的JavaScript脚本。服务器返回的数据会执行这个回调函数,从而在客户端处理...

    web跨域完美解决方式

    JSONP是一种通过动态创建`<script>`标签来绕过同源策略的方法。服务端提供一个回调函数名作为参数的接口,客户端设置`src`属性为这个接口URL,并指定一个回调函数,服务端返回的数据会调用这个回调函数。 2. CORS...

    原生js的ajax和解决跨域的jsonp(实例讲解)

    JSONP的基本原理是通过动态创建`<script>`标签而非使用XHR对象来请求数据,因为`<script>`标签的src属性没有跨域限制。JSONP允许客户端通过在服务器端指定的回调函数,来处理从其他域获取的数据。尽管JSONP只支持GET...

    原生JS封装Ajax插件(同域、jsonp跨域)

    在Web开发中,Ajax(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术,它允许网页在不需要重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。为了实现Ajax技术,通常需要使用...

    js中将字符串转换成json的三种方式.docx

    - **JSONP**:用于解决跨域问题,通过动态创建`<script>`标签来加载JSON数据。JSONP利用了`script`标签可以跨域请求的特性,服务器返回一个JavaScript函数调用,将JSON数据作为参数传递。 - **遍历JSON**:可以通过...

    摩拜2018校招前端工程师笔试卷及答案.pdf

    JSONP是一种解决跨域问题的技术,通过动态创建`<script>`标签来加载数据。在给出的`jsonp`函数示例中,首先检查`data`参数是否为字符串,如果是,则认为这是回调函数的名称。然后构造URL,添加查询参数`callback`,...

    浏览器跨域问题解约源代码

    服务器提供一个可以注入回调函数的动态脚本,客户端通过创建动态`<script>`标签来请求这个脚本,服务器返回的脚本内容是回调函数加上数据,从而实现跨域。 3. **代理服务器**:在前端和目标API之间设置一个代理...

    夏玉保整理Ajax学习笔记.doc

    - JSONP是一种利用`<script>`标签的src属性可以不受同源策略限制的特性,通过动态插入`<script>`标签,由服务器返回JavaScript回调函数,从而实现跨域数据获取。但JSONP仅支持GET请求,且安全性较低。 - CORS则是...

Global site tag (gtag.js) - Google Analytics