我从view
发送内容到controller
到AJAX
。它似乎运行良好,因为它碰到action method
并正常执行。但是我无法将action
返回的数据返回到view
。无法将数据从控制器返回到AJAX中查看
它缺少一些东西吗?
注意:我的确尝试调试代码,但一旦它通过操作方法,它就不会回到函数。
沿用了AJAX代码:
function CategoryChanged() {
var value = $("#ContentType").val();
$.ajax({
cache: false,
url: '@Url.Action("Action", "Home")',
type: "POST",
data: { code: value }
}).done(function (data) {
console.log(data)
var response = data;
if (data != null) {
$("#Content").val(data.content);
}
});
};
</script>
而控制器代码:
[HttpPost]
public ActionResult Action(int code)
{
using (SERVFL_DMSEntities db = new SERVFL_DMSEntities())
{
var cust1 = db.HomePageCustomizations.Where(r => r.IsPublic == true && r.ContentType == code).OrderByDescending(r => r.ID).FirstOrDefault();
string cust2 = cust1.Content;
return new JsonResult()
{
Data = new { Content = cust2}
};
}
}
我已经检查了网络的控制台上,它表明我收到的数据。行console.log(数据)包含所需的数据。
可能的问题 - 看到了很多这样的问题,我看到类似更改URL的响应为/Home/Action
。这实际上是一个问题还是无关紧要?
可以调试JS代码,看看有什么'data'实际上包含? –
在done函数中:为什么要设置'var response',然后设置'vdata',然后再次使用'response'? – Finn
@TimBiegeleisen在调试过程中,一旦Action方法完成,JS代码就不会被命中。 – TheFallenOne