我的html文件没有响应express.js应用程序中的ajax请求

时间:2018-01-21 12:54:26

标签: javascript html node.js ajax express

在我的express应用程序中,我的根文件app.js在'a'文件夹中呈现a.html但a.html没有响应用ajax.js编写的任何ajax代码。我在下面显示了这些文件 -

app.js

var express = require('express');

var app = express();
app.set(express.static('./a'));
app.get('/', function(req, res) {
  res.sendFile(__dirname + '/a/a.html');
});
app.listen(3000, '127.0.0.1');

a.html

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <button id="button"></button>
  <script src="ajax.js"></script>

</body>

</html>

ajax.js

document.getElementById('button').addEventListener('click', trigger);

function trigger() {
  var xhr = XMLHttpRequest();

  xhr.open('GET', 'blah.txt', true);

  xhr.onload = function() {
    if (xhr.status == 200) {
      console.log(xhr.responseText);
    }
  }
  xhr.send();
}

这里我提供一些目录和结果的截图

Directory目录

End Result 最终结果

1 个答案:

答案 0 :(得分:0)

您尝试通过ajax加载的文件是blah.txt,而a目录中的文件是blah没有扩展名,请尝试将其重命名为blah.txt或从ajax网址中删除.txt扩展名:

xhr.open('GET', '/blah', true);