gpt4 book ai didi

javascript - 如何构建对服务器的 Angular $resource POST 请求?

转载 作者:搜寻专家 更新时间:2023-11-01 05:01:04 25 4
gpt4 key购买 nike

我无法在 AngularJS 的服务器端 Controller 上捕获对 ASP.NET MVC 项目的请求:

    var appDirective = angular.module('app.directive', []);
var xmplService = angular.module('app.service', ['ngResource']);
var appFilter = angular.module('app.filter', []);
var app = angular.module('app', ['app.service', 'app.directive', 'app.filter', 'solo.table']);
xmplService
.factory('testResource1', function ($resource) {
return $resource('/SoloAngularTable/TestMethod3', { id: '@id' }, { charge: { method: 'POST' } });
});
app
.controller('ContentPlaceHolder1Controller', function ($scope, $http, testResource1) {
testResource1.find({ id: 123 }, function (data) {
alert('success');
});
});

在 MVC Controller 上,我有一个无法捕获请求的方法:

[HttpPost]
public JsonResult TestMethod3(int id)
{
var data = new { User = "Alex" };
return Json(data);
}

如何使用 AngularJS $resource 向服务器端构建简单请求并捕获请求?

最佳答案

find 不是 $resource 的默认操作。默认值是:

{ 'get':    {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'} };

您必须创建/指定 find 操作。您当前正在创建/指定 charge 操作。也许这就是您想要使用的?

如果你想使用查找,这里是修复:

.factory('testResource1', function ($resource) {
return $resource('/SoloAngularTable/TestMethod3', { id: '@id' }, {
charge: { method: 'POST' },
find: { method: 'POST' } // Added `find` action
});
});

如果你打算使用charge,这里是修复:

.controller('ContentPlaceHolder1Controller', function ($scope, $http, testResource1) {                            
testResource1.charge({ id: 123 }, function (data) {
alert('success');
});
});

关于javascript - 如何构建对服务器的 Angular $resource POST 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21457042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com