将多个参数传递给我的'POST'ajax调用我的webAPI控制器>找不到http 404

 陈政德169384 发布于 2023-02-08 18:13

我可以像这样成功地对我的webAPI进行ajax调用:

使用Javascript:

    $.ajax({
        type: "GET",
        url: "api/Breeze/DeleteMaterials",
        cache: false,
        data: { aa: 'aa', bb: 'bb' },
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        traditional: true,
        success: () => { result.resolve(true); },
        error: (error) => result.reject(error)
    });

Web API:

    [System.Web.Http.HttpGet]
    public void DeleteMaterials(string aa, string bb)
    {
        // doing something here
    }

它工作得很好.到达webAPI并且存在值参数.现在我不想保持'GET'调用,因为在这里我正在执行删除服务器端,我需要'DELETE'或'POST'.

我知道'DELETE'调用是不可能的,因为它只接受1个参数,对于我的情况我需要传递2个参数.

所以我尝试在我之前的代码中用'POST'替换'GET'并且从未到达webAPI并且我得到HTTP错误404:找不到.

我已经在所有SO建议中搜索了很多但是没有一个能给我我需要的东西.

任何的想法?

谢谢.

1 个回答
  • 使用Javascript

    $.ajax({
    
        type: "POST",
        url: "api/Breeze/DeleteMaterials",
        cache: false,
        data: JSON.stringify({ aa: 'aa', bb: 'bb' }),
        contentType: "application/json; charset=utf-8",
        traditional: true,
        success: () => { result.resolve(true); },
        error: (error) => result.reject(error)
    });
    

    Web API

    [ActionName("DeleteMaterials")]
    [HttpPost]        
    public void DeleteMaterials(JObject jsonData)
    {
       dynamic json = jsonData;
       string aa= json.aa;
       string bb= json.bb;
    }
    

    2023-02-08 18:16 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有