如何避免或执行跨域$.使用ISA时获取



我有ajax查询

    var url = "http://ISAServer.domain.com/WebSite";
    $.ajax({
        url: url,
        success: function (data) {
            alert('Load Successful');
        },
        error: function (data) {
            alert('error');
            console.log(data);
            console.log(data.readyState);
            console.log(data.status);
            console.log(data.statusText);
            console.log(data.responseText);
        },
        dataType: 'json'
    });

错误回调被调用。为了通过ISA,我使用IPad。使用IPad,返回的值不是很有用。

  • [object object]
  • 0
  • 0
  • 误差
  • "

我很确定这个问题是一个跨域get请求。ISA应该把我重定向到

" http://internal.domain/WebSite "

但是它失败了。当我不通过ISA并且还从同一域发出$.get请求时(如果我尝试跨域,如localhost到服务器),事情就会很好。

我正在使用ASP。净mvc 3。我一直没有成功地实现相对URL。它们以

的形式结束

" http://servername/siteName/Controller/ControllerService?查询"

当它应该

" http://servername/siteName/ControllerService?查询"

所以,除非你知道如何解决这个问题,相对URL不是一个选择(我们必须通过ISA,我严重怀疑它会解决任何问题)。我有一个辅助方法来解析当前路径"http://servername/siteName"。

有什么建议吗?

不能执行跨域ajax请求。有很多方法可以做到这一点,但出于安全原因,内置库不允许这样做。

http://www.ajax-cross-domain.com/提供了这样做的方法。但我不能保证,因为我从来没试过。

来自上面的URL:"在客户端javascript中,由于同源策略,此功能不存在。尽管此策略对于健壮的安全模型是必要的,但是程序员在向远程服务器发送和检索请求时常常受到限制。"

相关内容

  • 没有找到相关文章

最新更新