我有一个设计有引导程序的HTML页面,它调用REST服务来更新数据库的信息。这是javascript:
$.support.cors = true;
$.ajaxSetup ({
// Disable caching of AJAX responses
cache: false,
async: false
});
$("#submitemail").click(function() {
$.getJSON('http://sub.mydomain.com/getinfo/'+
encodeURIComponent($('#emailaddress').val()),
function(resp) {
//do something here
});
});
在FF工作。
使用IE - 如果我从桌面打开html文件并运行...它将调用sub.mydomain.com并获取信息。但是,如果我从www.mydomain.com打开该网站并调用该方法 - 没有。与Fiddler一起检查 - IE甚至没有发送请求。
答案 0 :(得分:1)
您无法像这样从主域调用子域。这是一个“跨域”请求,请求将中断。它永远不会在www.mydomain.com
- 甚至在FF上工作。
我不知道它是怎么回事。
无论如何,你的服务器是如何构建的?是mydomain.com/中的sub.mydomain.com
文件夹,如:
顶级域名:
http_public/mydomain.com/
子域名
http_public/mydomain.com/sub_domains/sub.mydomain.com/
如果文件结构是这样的,那么您可以允许访问目录并使用
url: '/sub_domains/sub.mydomain.com/getinfo'+whatever
否则,您需要使用JSONP