我有一个特定的问题,我将数据发布到控制器中的MVC操作,如下所示:
$(".btnAnalyze").click(function () {
if (jQuery.isEmptyObject(product_ids) == true) {
alert("Array is empty");
}
else {
var postData = { values: Object.keys(product_ids) };
$.ajax({
type: "POST",
url: "/Analyze/Index",
data: postData,
dataType: "json",
traditional: true
});
}
});
这是我的行动:
[HttpPost]
public ActionResult Index(List<string> values)
{
List<string> Products = new List<string>();
foreach (var id in values)
{
Products.Add(GetAllProductByID(id));
}
return View("Index");
}
由于某种原因,部分:
&#34;返回视图(&#34;索引&#34;)没有呈现我说要渲染的视图...
任何想法如何解决这个问题?
答案 0 :(得分:1)
这不会简单地刷新视图。您正在使用ajax调用调用控制器,这不会重新/渲染视图,它只是将视图作为html返回。你能检查一下ajax电话的结果吗?如果您在postman,soapui,fiddler或浏览器的F12调试器中测试您的端点,那么您应该看到从该ajax调用返回的内容。我会调查AjaxBeginForm作为BeginForm
的替代方案。
此外,如果您只想对返回的数据执行某些操作,则只需返回
中的Jsonreturn Json(Products, JsonBehavior.AllowGet);