jQuery getScript返回一个解析错误异常

前端之家收集整理的这篇文章主要介绍了jQuery getScript返回一个解析错误异常前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用获取Google Map脚本的$.getScript函数加载两个脚本,然后在加载之后,我得到另一个脚本(goMap),它可以轻松制作地图小程序.

但是,在加载时,第一个获取Google Map API的脚本是好的,然后第二个脚本返回一个解析错误显示

TypeError: ‘undefined’ is not a constructor’

然而,我不知道它在哪里引用或哪一行,我认为它必须尝试在这个文件上执行Geocoder(第一行(function($){:

07001

这是我的代码

$.getScript('http://maps.google.com/maps/api/js?sensor=true').done(function()
{
    $.getScript('../js/gomap.js').done(function()
    {
            // this never gets called
            alert('gomap loaded');
    }).fail(function(jqxhr,settings,exception)
    {
        alert(exception); // this gets shown
    });
}).fail(function()
{
    alert('Failed to load google maps');
});

我尝试更改AJAX设置以将异步设置为false,但它根本没有帮助.

最佳答案
错误是由于Google Maps API希望使用< script src =“http://maps.google.com/maps/api/js?sensor=true”>< ; /脚本取代. 如果由于某种原因你不能这样做,那仍然有希望. Google Maps API不起作用,因为它使用document.write在页面中注入依赖项.要使代码生效,您可以覆盖本机document.write方法. 演示:http://jsfiddle.net/ZmtMr/

var doc_write = document.write; // Remember original method;
document.write = function(s) {$(s).appendTo('body')};
$.getScript('http://maps.google.com/maps/api/js?sensor=true').done(function() {
    $.getScript('../js/gomap.js').done(function() {
        alert('gomap loaded');
        document.write = doc_write; // Restore method
    }).fail(function(jqxhr,exception) {
        alert(exception); // this gets shown
        document.write = doc_write; // Restore method
    });
}).fail(function() {
    alert('Failed to load google maps');
});

猜你在找的jQuery相关文章