0

我有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,返回的值不是很有帮助。

  • [对象对象]
  • 0
  • 0
  • 错误
  • “”

我相当确定问题是跨域获取请求。ISA 应该以某种方式将我重定向到

“http://internal.domain/WebSite”

但它失败了。当我不通过 ISA 并$.get从同一个域发出请求时,一切都很好(如果我尝试跨域,例如从本地主机到服务器,则会失败)。

我正在使用 ASP.NET MVC-3。我没有成功实现相对 URL。他们最终以形式

“http://servername/siteName/Controller/ControllerService?query”

什么时候应该

“http://servername/siteName/ControllerService?query”

所以,除非你知道如何解决这个问题,否则相对 URL 不是一种选择(而且我们必须通过 ISA,我严重怀疑它是否能解决任何问题)。我有一个帮助方法可以解析当前路径“http://servername/siteName”。

任何提示,想法建议?

4

1 回答 1

0

您不能执行跨域 ajax 请求。好吧,有办法做到这一点,但出于安全原因,内置库不允许这样做。

http://www.ajax-cross-domain.com/提供了一种方法来做到这一点。我无法保证,因为我从未尝试过。

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

于 2011-10-04T14:36:08.550 回答