0

我用 $.ajax 加载了一个 xml 文件列表。

其中一些受基本身份验证保护,在 xml 路径下有一个 htaccess。

并非所有人都受到保护。

我如何加载受保护和不受保护的文件?如果我使用 btoa(user & pass) 设置标题或 beforeSend,我只能加载受保护的,但不受保护的会给我错误。

如果我没有为身份验证设置标题或发送前,我想显示浏览器弹出窗口以进行登录,但它没有显示并给我这个错误并返回 error.status 0:

XMLHttpRequest 无法加载http://domain.com/path/file.xml?no=1381827329。Access-Control-Allow-Origin 不允许 来源http://www.domain.com 。

请求的标头:

Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Origin:http://www.domain.com
Referer:http://www.domain.com/
User-Agent:Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.69 Safari/537.36

我认为问题在于不在列表中

X-Requested-With:XMLHttpRequest

谢谢大家,对不起我的英语不好,再见!

4

1 回答 1

1

这是同源策略的问题。看:

为什么会这样。

使用 JSONP 或 HTTP 访问控制 (CORS) ( https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS ) 来避免这种情况。

于 2013-10-15T10:20:58.833 回答