首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不允许使用Jquery的$.post()、405方法发布请求

不允许使用Jquery的$.post()、405方法发布请求
EN

Stack Overflow用户
提问于 2018-09-11 00:05:48
回答 4查看 709关注 0票数 0

我在C#控制器中设置了一个异步任务,如下所示:

命名空间MyApp.Api {

代码语言:javascript
复制
public class TimeAllocationController : BaseApiController
{
    [Route("api/timeallocation")]
    [HttpPost]
    public async Task<ActivityValidationResult> Post(string id)
    {
        //logic here...
    }

理想情况下,我希望使用JQuery ()方法在$.post中传递整个有效负载,但是如果

我尝试在有效载荷中传递C#的Post()字符串Id。

代码语言:javascript
复制
$.post('/api/timeallocation/' + categoryId...

我不能这样把它传进来:

代码语言:javascript
复制
$.post('/api/timeallocation?id=' + categoryId...

我不想做上述任何一件事,只需在JS文件中设置一个带有id和所有其他必需属性的payload变量,然后调用$.post()

至于405错误的其他可能原因,我已经证实不是由于身份验证的原因。

有什么东西我忽略了吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-09-26 20:52:00

我能够用控制器中的以下内容来解决这个问题:

代码语言:javascript
复制
public async Task<ActivityValidationResult> Post(string id, [FromBody] TimeAllocationActivity payload)

其中payload处理TimeAllocationActivity属性。注意,我必须创建TimeAllocationActivity模型,因为它以前不存在。

在JS方面,我创建了有效负载变量,然后设置请求如下:

代码语言:javascript
复制
processCheckAjax = $.ajax({
    url: "/api/timeallocation/" + categoryId,
    dataType: "json",
    type: "POST",
    data: JSON.stringify(payload)

我确实觉得奇怪的是,我仍然必须将categoryId附加到路由中,而且它不能包含在有效负载中。

票数 0
EN

Stack Overflow用户

发布于 2018-09-11 02:22:17

如果您想使用jquery中的有效负载来调用它,您应该使用带有[FromBody]属性的Post方法,如下所示:

代码语言:javascript
复制
public class TimeAllocationController : BaseApiController
{
    [Route("api/timeallocation")]
    [HttpPost]
    public async Task<ActivityValidationResult> Post([FromBody] string id)
    {
        //logic here...
    }

见文件

然后你就可以用

代码语言:javascript
复制
$.ajax({
    url: "/api/timeallocation/",
    dataType: "json",
    type: "POST",
    data: {
        id: categoryId
    }
});
票数 1
EN

Stack Overflow用户

发布于 2018-09-11 00:34:13

你应该打电话

代码语言:javascript
复制
$.post('/api/timeallocation/', categoryId)

或者您可以添加id参数的FromUri属性并调用

代码语言:javascript
复制
$.post('/api/timeallocation?id' + categoryId)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52266981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档