gpt4 book ai didi

AngularJS $http 请求在 Node JS Express 中未被检测为 xhr

转载 作者:搜寻专家 更新时间:2023-11-01 00:30:36 25 4
gpt4 key购买 nike

我在 AngularJS 中使用 $http 来调用 Node JS Express API

var req = {
method: 'POST',
url: '/list',
data: { test: 'test' }
}

$http(req).then(function(){
console.log('then1');
});

但是在 Node JS ('/list') 中,当我检查它是 xhr 请求时,返回 false。

console.log('IS XHR ' + req.xhr) // IS XHR false

我需要检测 xhr 请求是否执行其他操作,我该如何实现。

最佳答案

您可以在您的 angularjs 应用程序中将 X-Requested-With back 添加到 $httpProvider,但它已被 angularjs 团队删除... https://github.com/angular/angular.js/commit/3a75b1124d062f64093a90b26630938558909e8d

如下所示:

var app = angular.module('yourApp', []);

app.config(['$httpProvider', function ($httpProvider) {
$httpProvider.defaults.headers
.common['X-Requested-With'] = 'XMLHttpRequest';
}]);

$http.get('/list', {
headers: {
'X-Requested-With': 'XMLHttpRequest'
}
});

你可以试试下面的方法:

if (req.xhr || req.headers.accept.indexOf('json') > -1) {
//xhr response
} else {

}

关于AngularJS $http 请求在 Node JS Express 中未被检测为 xhr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36232198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com