Jquery 对引用控制器的调用在ajax中工作,但不使用参数
我有一个ASP MVC应用程序,在项目中,我引用了另一个ASP MVC应用程序。在引用的应用程序中,我有一个控制器,看起来像这样:Jquery 对引用控制器的调用在ajax中工作,但不使用参数,jquery,asp.net-mvc,parameters,asp.net-ajax,Jquery,Asp.net Mvc,Parameters,Asp.net Ajax,我有一个ASP MVC应用程序,在项目中,我引用了另一个ASP MVC应用程序。在引用的应用程序中,我有一个控制器,看起来像这样: public class FreddyController : Controller { public string Boo( ) { return "Eek!"; } } $.ajax({ url: "/Freddy/Boo", asynch: false, dataType: "json", ca
public class FreddyController : Controller {
public string Boo( ) {
return "Eek!";
}
}
$.ajax({
url: "/Freddy/Boo",
asynch: false,
dataType: "json",
cache: false,
type: "get",
data: { resp: 'Eek!' },
error: function (msg) { alert("Doh!"); },
success: function (data) { alert(data); },
complete: function (xhr, status) { alert("Phew...") }
});
在运行主应用程序时,我可以调用引用的控制器,它会返回一个“Eek!”
当我在Ajax中尝试相同的调用时,使用以下命令:
$.ajax({
url: "/Freddy/Boo",
asynch: false,
cache: false,
type: "get",
error: function (msg) { alert(msg); },
complete: function (xhr, status) { }
});
它也可以正常工作,但当我更改它以添加参数时,如下所示:
public class FreddyController : Controller {
public string Boo( ) {
return "Eek!";
}
}
$.ajax({
url: "/Freddy/Boo",
asynch: false,
dataType: "json",
cache: false,
type: "get",
data: { resp: 'Eek!' },
error: function (msg) { alert("Doh!"); },
success: function (data) { alert(data); },
complete: function (xhr, status) { alert("Phew...") }
});
以及引用的控制器:
public string Boo(string resp) { ...
它失败,错误函数被调用。。。不知道为什么。我在这里遗漏了什么明显的东西吗?好吧,我想我找到了为什么失败的答案。唯一的问题是,这个答案让我有更多的问题。我将把这个问题发布到其他地方,但同时,无论出于何种原因,只有当我在javascript中的某个地方有一个preventDefault…打开浏览器控制台并检查对cluesis的实际请求时,这才有效。为什么第一个调用是post,第二个调用是get?是的。我犯了一个错误。:)好眼睛。编辑。