【问题标题】:Unexpected call to method or property access on XDomainRequest onload意外调用 XDomainRequest onload 上的方法或属性访问
【发布时间】:2015-02-20 17:45:59
【问题描述】:

IE 一直抛出“对方法或属性访问的意外调用”,原因不明。

通过控制台调试我发现它恰好在它到达 XDomainRequest.onload 方法之后发生,我不知道是什么原因造成的,代码如下:

    var Xdr = new XDomainRequest(),
        _url = someurl;

    Xdr.open("get", _url);
    Xdr.onload = function () {
       var x = Xdr.responseText;
    };
    Xdr.onprogress = function(){ };
    Xdr.ontimeout = function(){ };
    Xdr.onerror = function () { };
    setTimeout(function(){
        Xdr.send();
    }, 0);

有什么见解吗?简直太奇怪了。

【问题讨论】:

  • 你的控制台是打开的吧?您是否在控制台或服务器上看到任何请求?这个错误到底发生在哪一行?
  • 控制台打开时页面加载完美(即调试错误),否则除了等待响应之外什么都不做。错误发生在 Xdr.onload 函数的确切第一行
  • 那是你的问题。 console.log 仅在控制台打开时才有效。欢迎使用 IE 调试!
  • 啊抱歉,我还没有说清楚......我把控制台只是为了举例,不管我有什么,它都会抛出“意外调用方法或属性访问",原来只有一个"var x = xdr.responseText",我来编辑一下代码。
  • 如果它发生在该行,删除它会消除错误吗?属性分配上发生的错误似乎很奇怪..想知道您是否可能误解了某些内容。

标签: javascript internet-explorer internet-explorer-8 xdomainrequest


【解决方案1】:

您的第一行代码缺少分号。

代替:

var Xdr = new XDomainRequest(),

应该是:

var Xdr = new XDomainRequest();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-29
    • 1970-01-01
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多