Javascript SyntaxError:使用$http.post和restangular post时出现意外的标记F
我们在当前的项目中使用angular,并使用Restangular进行API调用。突然,我开始在向某个端点发送帖子时出错 这篇文章是这样的:Javascript SyntaxError:使用$http.post和restangular post时出现意外的标记F,javascript,jquery,angularjs,drupal,restangular,Javascript,Jquery,Angularjs,Drupal,Restangular,我们在当前的项目中使用angular,并使用Restangular进行API调用。突然,我开始在向某个端点发送帖子时出错 这篇文章是这样的: Restangular.one('aaa').post('bbb', data) .then((response) => { console.log(response); }, (err) => { console.log(err); }); 日志是这样的: SyntaxError: Unexpected toke
Restangular.one('aaa').post('bbb', data)
.then((response) => {
console.log(response);
}, (err) => {
console.log(err);
});
日志是这样的:
SyntaxError: Unexpected token F
过了一会儿,我放弃了,并尝试使用angular$http服务
$http({
method: 'POST',
url: '/aaa/bbb',
data: data
}).then(function successCallback(response) {
console.log(response);
}, function errorCallback(response) {
console.log(response);
});
和日志:
SyntaxError: Unexpected token F
在那之后,我开始感到绝望,并在jQuery.ajax上发表了一篇文章
jQuery.ajax({
url:'/aaa/bbb',
type: 'POST',
data: data,
contentType: 'application/json; charset=utf-8',
success: function(s) {
console.log(s);
console.log('jquery success');
},
error: function(e) {
console.log(e);
console.log('jquery error');
},
complete: function(c) {
console.log(c);
console.log('jquery complete');
}
});
以及使用jquery.ajax时的日志:
Object {readyState: 4, responseText: "Fatal error: actual error message here", status: 200, statusText: "OK"}
jquery error
终于有东西了!我们使用drupal作为后端,其中一个模块未启用。
我只是想知道为什么restangular和$http没有给出正确的错误消息。restangular和$http
模块生成的响应与从JSON
模块收到的响应相同。例如:
JSON.parse("{F}");
产生错误:
未捕获的语法错误:意外标记F
来自jQuery的响应是来自服务器的原始响应数据,没有应用JSON.parse