2015-02-06 40 views
0

我試圖使用Restangular實現DELETE方法,但它一直給出錯誤Access-Control-Allow-Methods不允許使用方法DELETE 。Restangular.remove()方法Access-Control-Allow-Methods不允許使用DELETE

已經有很多的護目鏡,但沒有找到解決方案。請求與郵遞員無縫壽

var users = Restangular.all("users", userId); 
        return users.remove() 
       .then(function (response) { 
        return response; 
       }); 

通過上述請求方法做被作爲選項,我認爲應該刪除

回答

0

我也做了一些東西。這裏是一個解決方案:

您的API web.config文件

<clear /> 
<add name="Access-Control-Allow-Origin" value="*" /> 
<add name="Access-Control-Allow-Headers" value="Origin, X-Requested-With, Content-Type, Accept" /> 
<add name="Access-Control-Allow-Methods" value="OPTIONS,GET,POST,PUT,DELETE" /> 

更新ApiController

[HttpDelete] 
public string Delete() 
{ 
    return "u call delete"; 
} 

public HttpResponseMessage Options() { 
    var response = new HttpResponseMessage(); 
    response.StatusCode = HttpStatusCode.OK; 
    return response; 
} 

在角:

home.post().then(function (data) { 
    console.log(data); 
}); 

home.remove().then(function (data) { 
    console.log(data); 
}); 

出放...

> u call delete 

希望這將幫助你:)

0

我會後我的代碼爲我的控制器,我希望它可以幫助你 我用這個控制器angularjs和Django的REST框架。在CategorySerializer我回到pk和名稱

CategorySerializer:

class CategorySerializer(serializers.HyperlinkedModelSerializer): 
    owner = serializers.ReadOnlyField(source='owner.username') 
    class Meta: 
     model = Category 
     fields = ('pk','name', 'owner','created') 
我cotroller.js文件

我的代碼波紋管,以添加類別和刪除類別:

appcontroller.controller('Route1Ctrl', function Route1Ctrl($scope,Restangular) { 
    $scope.test = 'hello world !!!' 
    $scope.name = '' 
    $scope.delete = function(pk) { 
    Restangular.one('categories/',pk).remove().then(function() { 
     var index = $scope.categories.indexOf(pk); 
     if (index > -1) $scope.categories.splice(index, 1); 
    }); 
    }; 
    Restangular.all('categories/').getList({}).then(function(data) { 
    $scope.categories = data; 
    }); 
    $scope.addCategory = function() { 
    categories.post({'name':$scope.name}) 
    } 
}); 
相關問題