【发布时间】:2011-10-04 14:32:05
【问题描述】:
我有 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”。
有任何提示、想法建议吗?
【问题讨论】:
-
我们通过内部和外部域名相同的方式解决了这个问题。 company.com/site 用于内部和外部。 DNS 只是解析到不同的 IP 地址。我将把这个问题留给程序化解决方案。
标签: jquery asp.net-mvc-3 cross-domain cross-domain-proxy