【发布时间】:2012-10-27 08:46:01
【问题描述】:
我在使用以下代码时遇到了问题:
angular.module('offerServices', ['ngResource'])
.factory('Offer', function ($resource) {
return $resource('url/offers', { callback: 'JSON_CALLBACK' },
{
query: { method: 'JSONP' }
}
);
})
.factory('Trustyou', function ($resource) {
return $resource('https://api.trustyou.com/hotels/:id/seal.json', {},
{
query: { method: 'JSONP' }
}
);
});
调用 Offer.query({}, function(){});在我的控制器中工作没有任何问题。 但这部分不起作用:
var trustYouData = Trustyou.query({ id: 'd8421e79-99f0-41b2-8d6e-9cfd62a9776b' }, function (data) {
console.log(data);
});
这总是返回 400 错误:
“网络错误:400 错误请求 - https://api.trustyou.com/hotels/d8421e79-99f0-41b2-8d6e-9cfd62a9776b/seal.json?callback=angular.callbacks._1”
当我更改代码并使用 jQuerys.getJSON 时,我没有任何问题:
$.getJSON("https://api.trustyou.com/hotels/d8421e79-99f0-41b2-8d6e-9cfd62a9776b/seal.json?callback=?", function (data) {
console.log(data);
});
为什么 jQuery 方法有效但 angulars $resource 实现在这种情况下返回错误?
【问题讨论】:
-
你试过
GET而不是JSONP吗?另外,在您发布问题时,格式是否与 URL 的当前响应相同? -
是的,我也试过 $http.get,格式是一样的...
标签: javascript angularjs