我在Restangular和获取/放置元素时遇到了一些问题。 首先,如果我尝试获取一个元素,则会收到带有交叉原点的错误。
Restangular.one('api/label-resource', 1).get().then(function(success) {
// Change some propertries
success.put();
}
XMLHttpRequest cannot load http://localhost:3000/api/template/1. The request was redirected to 'http://localhost:3000/api/label-resource/1/', which is disallowed for cross-origin requests that require preflight.
如果我试图通过网址获取它,则PUT会因为尝试到达http://localhost/api/label-resource/1/1/
Restangular.oneUrl('api/label-resource/1/').get().then(function(success) {
// Change some properties
success.put();
}
我的REST API是django-rest-framework。
答案 0 :(得分:0)
对于由于缺少斜线而导致的第一个交叉起源问题,我发现Restangular有一个方法 - setRequestSuffix(' /')但这是设置它全局不仅仅是当前的请求。
关于生成坏URL的第二个问题我发现我必须为本地var分配响应,然后对其发出put请求。 Restangular.oneUrl(' api / label-resource / 1 /')。get()。then(function(success){ var label = success;
// Change some properties
label.text = "New text";
label.put();
}