jQuery ajax调用ASP.NET调用错误的方法

时间:2016-08-05 19:30:04

标签: jquery asp.net ajax

我在这里有这个ajax调用:

$.ajax({
                    type: "GET",
                    url: "/api/action/deleteData?issueID=16",
                    success: function (data) {
                        console.log(data)
                    },
                    failure: function (errMsg) {
                        alert('Failed, somthing went wrong, please try again!');
                    }
                });

试图调用此方法

    public string deleteData(string issueID)
    {
        return "aaa";
    }

然而,这是调用错误的方法,它调用一个没有参数的方法。为什么要这样做?我该如何解决这个问题?

行动是正确的,否则就不会进入另一种方法。

当我手动尝试使用URL调用此方法时,它会从错误的方法返回数据。我不明白。

2 个答案:

答案 0 :(得分:4)

[ActionName("deleteData")]应用于您的WEB API操作,它会正常工作。我在我身边进行了测试,并且工作正常。我的ApiController

public class actionController : ApiController
{
    public string deleteData()
    {
        return "deleteData";
    }

    public string doSomething()
    {
        return "doSomething";
    }

    [ActionName("deleteData")]
    [HttpGet]
    public string deleteData(string issueID)
    {
        return "aaa";
    }
}

答案 1 :(得分:0)

我不确定您传递参数的方式是否正确。我倾向于总是使用ajax调用的data属性来传递我的参数。

$.ajax({
                type: "GET",
                url: "/api/action/deleteData",
                data: ({ issueID: 16 }),
                success: function (data) {
                    console.log(data)
                },
                failure: function (errMsg) {
                    alert('Failed, somthing went wrong, please try again!');
                }
            });

希望有所帮助