JQuery.ajax 成功函数返回空
我在 JQuery 中有一个非常基本的 AJAX 函数:
$.ajax({
url: "http://www.google.com",
dataType: "html",
success: function(data) {
alert(data);
}
});
但是无论我访问哪个 url,data
始终是一个空字符串...为什么会这样?我在 http://localhost:3000
本地运行它,并使用 JQuery 1.4.2。
但是,如果我做出本地响应,如下所示:
$.ajax({
url: "http://localhost:3000/test",
dataType: "html",
success: function(data) {
alert(data);
}
});
...它会返回该地址处的 html 页面。我在这里缺少什么?
I have a very basic AJAX function in JQuery:
$.ajax({
url: "http://www.google.com",
dataType: "html",
success: function(data) {
alert(data);
}
});
But the data
is always an empty string, no matter what url I go to... Why is that? I am running this locally at http://localhost:3000
, and am using JQuery 1.4.2.
If I make a local response, however, like this:
$.ajax({
url: "http://localhost:3000/test",
dataType: "html",
success: function(data) {
alert(data);
}
});
...it returns the html page at that address. What am I missing here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
出于安全原因,您遇到了同源策略,阻止您向另一个域发出 ajax 请求。
您不能向以下对象发出请求:
您可以向以下对象发出请求:
您可以在此处阅读有关它的更多信息
You're running into the same-origin policy, preventing you from making an ajax request to another domain, for security reasons.
You can't make a request to:
You can make a request to:
You can read more about it here
您无法从其他域加载数据。这是一项安全功能。
这里有一个链接,讨论如何从你的网络服务器创建代理来绕过他的限制。
http://jquery-howto。 blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html
You can't load data from other domains. It's a security feature.
Here's a link that talks about how to create a proxy from your web server to get around his limitation.
http://jquery-howto.blogspot.com/2009/04/cross-domain-ajax-querying-with-jquery.html