我遇到了两个客户的奇怪问题。前端无法在 Angular 指令中发送 POST/GET 请求。
线路:
xhr.open(method, url, true);
接收:
Exception { message: "", result: 2153644038, name: "", filename: "http://site.ru/scripts/vendor/angular.js", lineNumber: 8327, columnNumber: 0, inner: null, data: null }
这是对同一域的常见请求,没有 CORS。
此问题仅在客户端重现(现在有 2 个客户遇到此问题,第一个是 Win 8.1 + Firefox 最新版,第二个是 Win 7 + Chrome 最新版)。
我无法在我这边重现此问题。但我在客户前端看到错误。
请求来自页面:goo[.]gl/T2d2oh
至 API:“/user/getAds”
请求中调用的回调失败:
var jqueryRequest = $.ajax({
type: "POST",
url: $scope.url,
data: JSON.stringify(params),
dataType: 'json',
contentType: "application/json; charset=utf-8",
beforeSend: function(xhr) {
xhr.setRequestHeader('Authorization', 'Bearer ' + token);
}
});
jqueryRequest.done(function(data, status) {
/* Do smth */
$scope.$apply();
});
jqueryRequest.fail(function(jqXHR, status, error) {
/* Do smth */
console.error("pagination error", jqXHR, status, error);
$scope.$apply();
});
与 Angular 柱相同:
$http.post($scope.url, params).success(function(data, status, headers, config) {
/* Do smth */
}).error(function(data, status, headers, config) {
console.error('pagination:error', status, config);
})
异常...“”nsresult:“0x805e0006()”位置:“JS框架::http://site.ru/scripts/vendor/angular.js:createHttpBackend/<:第8494行”数据:否
最佳答案
解决方案
将 API 请求补丁从“/user/getAds”重命名为“/user/getObjects”,以避免被广告拦截器应用拦截。
关于javascript - AngularJS post 失败,jQuery ajax 也失败。无 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26011962/