我在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中显示内容。但它没有显示任何内容。
对我有任何啧啧。
谢谢!
答案 0 :(得分:1)
xhttp.open(...)调用的第二个参数应该是一个URL,而不是简单的文件名。如果您使用“rails s”运行Rails应用程序,那么如果文件demo.txt在您的公用文件夹中,则您的URL可能看起来像“http://localhost:3000/demo.txt”。在第二个参数中没有URL,我怀疑请求永远不会找到你的rails应用程序。
您可能还想深入了解jquery(因为您已标记它)以了解如何使用该库发出请求。界面比低级js简单得多。