跨站点 AJAX - 从 Tomcat 服务器请求数据
我有一个问题。我目前有一个 Tomcat 服务器在我的计算机的端口 8080 上侦听,并运行一个 Web 应用程序(可通过 localhost:8080/test-app 访问)。我希望该服务器能够提供动态生成的 XML 文件。它在任何浏览器中都运行良好,它可以完成我想要的事情。
现在,我想在另一台服务器上构建一个网页(我使用 Aptana 的内部服务器,监听端口 8020),这将从第一台服务器获取 XML 文件。 问题是,无论我在 Chrome 还是 FireFox 中尝试,无论我是从 localhost:8020/printxml.html 获取此页面还是直接从我的文件系统(位于 file:///E:/ <...>/printxml.html),我没有收到数据。
这是我用于获取数据的 JavaScript 代码(我使用 jQuery 的 $.ajax()
方法):
function treatResponse(xml) {
if(xml == "OK")
// Deal with the data here
else
alert("Error during XML generation");
}
function treatError(xhr, ajaxOptions, thrownError) {
alert("Connection error");
}
function my_login() {
var props = {
type : "POST",
url : "http://localhost:8020/printxml.html",
success : treatResponse,
error : treatError
};
$.ajax(props);
}
我做错了什么? 我读到应该在服务器端添加特殊标头来通知跨站点请求是可行的(使用Access-Control-Allow-Origin),但我只能'让它发挥作用。
提前致谢 !
I have a problem. I currently have a Tomcat server listening on port 8080 of my machine, with a web app running (accessible at localhost:8080/test-app). I want this server to deliver dynamically-generated XML files. It's running well in any browser, it does what I want and stuff.
Now, I want to build a web page on another server (I use Aptana's internal server, listening on port 8020), which would get XML files from the first server.
The problem is, whether I try in Chrome or FireFox, whether I get this page from localhost:8020/printxml.html OR right from my filesystem (at file:///E:/<...>/printxml.html), I don't receive the data.
Here's my JavaScript code for getting the data (I use jQuery's $.ajax()
method) :
function treatResponse(xml) {
if(xml == "OK")
// Deal with the data here
else
alert("Error during XML generation");
}
function treatError(xhr, ajaxOptions, thrownError) {
alert("Connection error");
}
function my_login() {
var props = {
type : "POST",
url : "http://localhost:8020/printxml.html",
success : treatResponse,
error : treatError
};
$.ajax(props);
}
What am I doing wrong ?
I read there should be special headers added server-side to inform that cross-site requests are feasible (using Access-Control-Allow-Origin), but I just can't get it to work.
Thanks in advance !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试在 localhost 前添加 http://
try to add http:// before localhost