简单的jQuery ajax调用不需要';我不能用铁轨工作

简单的jQuery ajax调用不需要';我不能用铁轨工作,jquery,ruby-on-rails-3.2,Jquery,Ruby On Rails 3.2,我是Rails新手,我试图在application.js中纠正非常简单的ajax调用 代码如下: function login(loginUrl) { alert(loginUrl); $.ajax('http://www.w3schools.com/jquery/demo_test.txt', {success: function (result) { alert(result); }}); } 调用该函数时,第一个警报工作正常。然而,下面的ajax

我是Rails新手,我试图在application.js中纠正非常简单的ajax调用

代码如下:

function login(loginUrl) {
    alert(loginUrl);

    $.ajax('http://www.w3schools.com/jquery/demo_test.txt', {success: function (result) {
        alert(result);
    }});
}
调用该函数时,第一个警报工作正常。然而,下面的ajax调用似乎永远无法通过,第二个警报也永远不会执行。我在w3school.com上试用了该代码,效果很好。我真的很困惑为什么这个简单的代码不能与Rails一起工作


有人能帮我吗?

这是因为一个名为的浏览器限制。它防止javascript将ajax请求发送到与加载它的域不同的域

在您的情况下,您正试图访问托管在
http://www.w3schools.com
但是发送请求的页面不是来自同一个域,这就是ajax请求不起作用的原因

如果您查看浏览器的控制台,您可能会看到一个错误,表示相同


同源策略的解决方案是使用(),但约束条件是服务器应支持jsonp。

将“”替换为您的
loginUrl

这是因为ajax的浏览器限制称为
同源策略
@Cypher。请使您的编辑比单个键入更为重要。您正在编辑的问题还存在许多其他错误,您可以同时修复。@JonathanHobbs我只是修复标题,因为太多的问题需要一个接一个地审查,我们的想法是,在标题安排好后,这些问题可以供您使用google@Cypher这很好,但当你编辑这些问题时,请看一下,看看是否可以在其他方面加以改进。由于这个原因,您的一些建议编辑刚刚被拒绝,因为太小了。@JonathanHobbs OK,在中检查是否有即将到来的评论。我再次尝试,如果我用loginUrl替换外部http地址,它会工作。非常感谢!:-)