Javascript 检测对普通请求节点js的ajax请求
你好,我有下一段代码,我想知道如何在ajax请求和普通请求之间进行检测?没有快递Javascript 检测对普通请求节点js的ajax请求,javascript,jquery,ajax,node.js,Javascript,Jquery,Ajax,Node.js,你好,我有下一段代码,我想知道如何在ajax请求和普通请求之间进行检测?没有快递 var http = require('http'); var fs = require('fs'); var path = require('path'); var url = require('url'); http.createServer(function (request, response) { console.log('request starting...'); console.log("
var http = require('http');
var fs = require('fs');
var path = require('path');
var url = require('url');
http.createServer(function (request, response) {
console.log('request starting...');
console.log("request.url = " + request.url);
console.log("url = "+ url);
response.setHeader('content-Type','application/json');
var filePath = '.' + request.url;
if (filePath == './')
filePath = './index.html';
var extname = path.extname(filePath);
var contentType = 'text/html';
switch (extname)
{
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}
fs.exists(filePath, function(exists) {
if (exists)
{
fs.readFile(filePath, function(error, content) {
if (error)
{
response.writeHead(500);
response.end();
}
else
{
console.log("contentType = "+contentType);
response.writeHead(200, { 'content-Type': contentType });
response.end(content, 'utf-8');
}
});
}
else
{
response.writeHead(404);
response.end();
}
});
}).listen(8081);
console.log('Server running at http://localhost:8081/');
在客户端,我发送一个ajax请求,但我从浏览器请求发送到 您可以检查
request.headers
是否包含HTTP\u X\u REQUESTED\u WITH
如果HTTP\u X\u REQUESTED\u WITH
的值为XMLHttpRequest
,则它是一个ajax请求
例如:
if (request.headers["x-requested-with"] == 'XMLHttpRequest') {
//is ajax request
}
@user3493458我添加了一个快速示例。如果(request.xhr){…}@soulchild您不能,您可能只需要执行
if(request.xhr){…}
@soulchild,本机库中没有xhr
属性。嘿,对不起,我在查找Express.js的东西时遇到了这个问题。我没意识到这不在这里。那就别管了显然jQuery是这个答案按原样工作所必需的。我没有马上明白。