SyntaxError: Unexpected token F, when using $http.post and restangular post
SyntaxError: Unexpected token F, when using $http.post and restangular post
我们在当前项目中使用 angular,我们正在使用 Restangular 进行 API 调用。突然我在对某个端点执行 post 时开始出错。
post 是这样的:
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
做了一个post
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}");
产生错误:
Uncaught SyntaxError: Unexpected token F
来自 jQuery 的响应是未应用 JSON.parse
的服务器的原始响应数据。
我们在当前项目中使用 angular,我们正在使用 Restangular 进行 API 调用。突然我在对某个端点执行 post 时开始出错。
post 是这样的:
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
做了一个postjQuery.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}");
产生错误:
Uncaught SyntaxError: Unexpected token F
来自 jQuery 的响应是未应用 JSON.parse
的服务器的原始响应数据。