在尝试GET / PUT时,Restangular失败并生成URL

时间:2014-04-05 11:50:49

标签: django-rest-framework restangular

我在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。

1 个答案:

答案 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();

}