我创建了一个视图和一个控制器,控制器需要返回一些搜索结果。我正在使用 jQuery 调用该控制器。
<input type="text" id="caption" />
<a href="#" id="search">Search</a>
<script>
$("#search").click(function () {
alert('called');
var p = { Data: $('#search').val() };
$.ajax({
url: '/Ingredients/Search',
type: "POST",
data: JSON.stringify(p),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
alert(data);
},
error: function () {
alert("error");
}
});
});
我的控制器如下:
[HttpPost]
public ActionResult Search(string input)
{
var result = _db.Ingredients.Where(i => i.IngredientName == input);
return new JsonResult() {Data = new {name="Hello There"}};
}
我的问题是我不确定如何从jquery调用中获取变量到控制器中,我在控制器上设置了断点并触发了它,但输入字符串始终为null。
我做错了什么?
{ captionvalue: $('#caption').val() }
,你还必须将函数中的变量重命名为captionvalue
。这只是一些解释,让你明白为什么会这样工作 :-) - Flater