我在这里有这个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调用此方法时,它会从错误的方法返回数据。我不明白。
答案 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!');
}
});
希望有所帮助