【问题标题】:jQuery.ajax (1.4.3) jsonp call not removing callback script from head tagjQuery.ajax (1.4.3) jsonp 调用不从头标签中删除回调脚本
【发布时间】:2011-05-05 16:12:24
【问题描述】:

我正在使用 jQuery 1.4.3 对 ASP.NET MVC 2 休息服务进行 ajax 调用。由于这个休息服务在不同的域上,我必须使用 jsonp。我遇到的问题是在从 jQuery 1.4.2 升级到 1.4.3 之后,当 jQuery 尝试删除为 jsonp 回调注入的标记时,我现在收到 javascript 错误。来自其余服务的数据恢复正常。

查看 jQuery 1.4.3 文件后,我发现错误发生在这一行:

if ( head ) {
     head.removeChild( script );
} 

在 firebug 中调试该部分后,这就是发生的事情。在第一次 ajax jsonp 调用 getDetail() 方法后,“script”变量在“head”变量中具有以下值,因此调用“head.removeChild(script);”成功,脚本标签被删除。

<script src="http://localhost:63505/Locations/Detail/445?callback=fetchLocationInfoWindowCallback"></script>

在使用 ajax jsonp 再次调用同一方法 getDetail() 时,在调试器中查看,“script”变量仍然具有以下值,但是“head”变量不再包含此脚本标记。

<script src="http://localhost:63505/Locations/Detail/445?callback=fetchLocationInfoWindowCallback"></script>

相反,这个“脚本”变量应该具有包含在“头”变量中的以下值。

<script src="http://localhost:63505/Locations/Detail/335?callback=fetchLocationInfoWindowCallback"></script>

【问题讨论】:

    标签: jquery rest service jsonp


    【解决方案1】:

    jQuery 1.4.4 RC 已修复此问题。

    【讨论】:

    猜你喜欢
    • 2014-04-03
    • 2016-11-11
    • 2017-10-20
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 2019-05-26
    • 1970-01-01
    • 2012-09-12
    相关资源
    最近更新 更多