代码之家  ›  专栏  ›  技术社区  ›  Nguyễn Minh VÆ°Æ¡ng

不能从Ajax jQuery调用删除函数到ASP.NET API函数

  •  0
  • Nguyễn Minh VÆ°Æ¡ng  · 技术社区  · 6 年前

    我正在使用jquery 3.2.1。我试图通过ajax jquery调用api。

    下面是一个示例和代码:

    (() => {
        function delTest() {
            $.ajax({
                url: 'http://localhost:3413/api/person?ID=100',
                type: 'DELETE',
                dataType: 'json',
                data: { "": "Sourav Kayal" },
                success: function (data, textStatus, xhr) {
                    console.log(data);
                },
                error: function (xhr, textStatus, errorThrown) {
                    console.log('Error in Operation');
                }
            });
        }
    })();
    

    和API

       public class personController : ApiController  
        {  
            [HttpDelete]  
            public string Delete([FromUri] int ID, [FromBody] String name)  
            {  
                return "Delete Operation" + "ID:- " + ID + "Name:- " + name;  
            }  
        }
    
    
    protected void Application_Start()
        {
            GlobalConfiguration.Configure(WebApiConfig.Register);
    
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    

    不过,现在不行了。

    返回错误:404未找到

    1 回复  |  直到 6 年前
        1
  •  1
  •   Gaurav    6 年前

    我正在使用下面的代码,它在我的机器上运行良好。我认为您需要在url中添加方法名delete,它应该是“ http://localhost:3413/api/person/Delete?ID=100

    <script type="text/javascript">
    
            function delTest() {
    
            $.ajax({
                url: 'http://localhost:3413/person/Delete?ID=100',
                type: 'DELETE',
                dataType: 'json',
                data: { name: "Sourav Kayal" },
                success: function (data, textStatus, xhr) {
                    console.log(data);
                },
                error: function (xhr, textStatus, errorThrown) {
                    console.log('Error in Operation');
                }
            });
        }
    </script> 
    
    <input type="button" name="delete" onclick="delTest()" value="makeCall"/>
    

    以及API代码:

      [System.Web.Http.HttpDelete]
            public string Delete([FromUri] int ID, [FromBody] String name)
            {
                return "Delete Operation" + "ID:- " + ID + "Name:- " + name;
            }