我是 jquery 新手,无法解决以下问题:我想将一个对象传递给我的 mvc 应用程序中的 Controller 之一。这是我到目前为止所得到的:
function enterPressed() {
$(function () {
$('#textBox').keypress(function (e) {
var code = e.keyCode ? e.keyCode : e.which;
if (code == 13) {
doSomethingElse(textBox.value)
}
});
});
}
function doSomethingElse(p) {
$.ajax({
type: 'GET',
data: {string: p},
url: '"Control/AddControl/Index"',
success: function (data) { alert(p) },
error: function (errorData) { alert("fail") }
});
return true;
但是每次当我按下回车键时我都会失败。我的 Controller 位于 ~/Controllers/Control/AddControl 中。你们中有人发现问题了吗?
我的 C# 代码:
public class AddControlController : Controller
{
//
// GET: /AddControl/
public ActionResult Index(string control)
{
return RedirectToAction("ShowControl");
}
}
最佳答案
您应该将值名称更改为 control
,如预期的操作。您还可以使用 @Url.Action()
帮助器来设置 url
参数。
$.ajax({
type: 'GET',
data: { control : p},
url: '@Url.Action("Index","AddControl")',
success: function (data) { alert(p) },
error: function (errorData) { alert("fail") }
});
最后,您的操作无法使用 ajax 响应返回重定向操作。 如果您想在响应成功后进行重定向,可以在客户端进行。
关于c# - 如何通过 Jquery Ajax Get 将对象传递给 MVC Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17595326/