为什么我不能在Rails中使用Ajax?

时间:2016-02-24 14:16:21

标签: ruby-on-rails ruby ajax

我在3个月前开始学习Rails。现在我尝试在我的Rails应用程序中添加Ajax。

所以它有一些问题。

在我的Index.html.erb文件中:

<script>
    function loadDoc() {
      var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
          document.getElementById("demo").innerHTML = xhttp.responseText;
        }
      };
      xhttp.open("GET","demo.txt", true);
      xhttp.send();
    }
</script>

<button type="button" onclick="loadDoc()">click</button>

<p id="demo"></p>

我创建了一个demo.txt文件。当我点击按钮时,我试图在demo.txt中显示内容。但它没有显示任何内容。

对我有任何啧啧。

谢谢!

1 个答案:

答案 0 :(得分:1)

xhttp.open(...)调用的第二个参数应该是一个URL,而不是简单的文件名。如果您使用“rails s”运行Rails应用程序,那么如果文件demo.txt在您的公用文件夹中,则您的URL可能看起来像“http://localhost:3000/demo.txt”。在第二个参数中没有URL,我怀疑请求永远不会找到你的rails应用程序。

您可能还想深入了解jquery(因为您已标记它)以了解如何使用该库发出请求。界面比低级js简单得多。