相关疑难解决方法(0)

AngularJS $资源为$ save方法发出HTTP OPTIONS请求而不是HTTP POST

我正在编写一个简单的库应用程序,以便为使用AngularJS的大型项目做好准备.在网上阅读了很多关于使用$resource与RESTful API交互的内容之后,我认为它可能会提供一些节省时间和扩展的好处来实现它而不是$http用于每个请求.问题是,由于某种原因(我不是CORS的专家,并且请求是跨域发送的),在使用$save我的Node.js控制台显示的方法时:

OPTIONS /books 200 1ms - 161b 
Run Code Online (Sandbox Code Playgroud)

使用该query()方法工作正常 - 节点控制台显示:

GET /books 200 1ms - 228b
Run Code Online (Sandbox Code Playgroud)

此时我已经被困了几个小时,尝试下面的变化,但它总是最终成为OPTIONS请求而不是POST(这应该是根据Angular文档应该是该$save方法).

AngularJS Web App

app.js

var libraryApp = angular.module('libraryApp', ['ngResource', 'ngRoute', 'libraryControllers']);

libraryApp.factory('$book', ['$resource', function ($resource) {

    return $resource('http://mywebserver\\:1337/books/:bookId', { bookId: '@bookId' });
}]);
Run Code Online (Sandbox Code Playgroud)

controllers.js

var libraryControllers = angular.module('libraryControllers', []);

libraryControllers.controller('BookCtrl', ['$scope', '$book', function($scope, $book) {

    ...

    $scope.addBook = function () {
        var b = new $book;
        b.isbn = "TEST";
        b.description = "TEST"; …
Run Code Online (Sandbox Code Playgroud)

node.js cors express angularjs ngresource

24
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

cors ×1

express ×1

ngresource ×1

node.js ×1