我们在IIS 7.5上有一个ASP.NET MVC4网站“mysite.com”,其中的页面使用jQuery AJAX将AJAX调用回同一服务器。
如果用户以http://testsite.com身份登录网站,则对testsite.com/cases?id=4的AJAX调用正常。但是,如果用户登录http:www.testsite.com并进行相同的AJAX调用,则会失败,因为它被视为跨域(www.testsite.com vs testsite.com)。
我们在哪里解决接受AJAX呼叫到“www.testsite.com”的问题,好像他们是“testsite.com”所以这个电话不被视为跨域?这是可以在IIS级别或MVC站点本身解决的问题吗?
答案 0 :(得分:1)
如果您在Ajax中使用相对URL,它将匹配用户所在的当前域/子域。这样他们就会根据他们的登录方式获得WWW或非WWW。
//...
type: "POST",
url: "/Controller/Page",
//...
而不是
//...
type: "POST",
url: "//testsite.com/Controller/Page",
//...