Py学习  »  Jquery

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

Nguyễn Minh Vương • 6 年前 • 1602 次点击  

我正在使用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未找到

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44031
文章 [ 1 ]  |  最新文章 6 年前
Gaurav
Reply   •   1 楼
Gaurav    7 年前

我正在使用下面的代码,它在我的机器上运行良好。我认为您需要在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;
        }