我有一个静态 Web 服务器,它的网页需要从文件服务器上的 XML 文件(通过 Javascript)中提取数据。但是,我似乎无法连接到文件服务器。如果我将 XML 文件放在我的 Web 服务器上,它可以正常工作,但放在文件服务器上时就不行了。为了使用 HTTPRequest 读取 XML 文件,XML 文件所在的服务器是否需要是 Web 服务器?
问问题
966 次
3 回答
1
是的,因为您使用的是 XMLHttpRequest,所以 XML 文件需要由 HTTP 协议提供服务。
于 2012-05-08T17:20:39.200 回答
1
是的,这就是 ajax 跨端脚本安全性。但有解决方案:1-您需要将 xml 包装在 jsonP 包中 2-或调用仅用作代理的本地动态文件(以获取远程文档)
于 2012-05-08T17:21:11.463 回答
1
首先,当您使用 XMLHttpRequest 时,您只能访问相同域、协议和端口上的 URL。
其次,如果您尝试连接的服务器不是 Web 服务器(即不使用 HTTP 提供数据),那么在向其发送 HTTP 请求时您将不会得到有效的响应。
为了让它工作,您需要将 XMLHttpRequests 发送到服务器端程序/脚本,该程序/脚本从文件服务器读取文件并将其返回给浏览器。
于 2012-05-08T17:25:47.407 回答