【发布时间】:2017-11-10 21:17:28
【问题描述】:
我正在用 ajax 邮寄一些 json 数据
function SendF() {
$.ajax({
url: '@Url.Action("Summary")',
type: 'POST',
data: JSON.stringify(flags),
contentType: "application/json;charset=utf-8",
success: function() {
},
error: function() {
alert("Oops! We've experienced a connection problem!");
}
});
}
到我的控制器
[HttpPost]
public ActionResult Summary(List<string> flagsChecked)
{
[...]
return View(flags);
}
并尝试返回一个包含我已处理的数据的视图,但我想这不会发生,因为 ajax 都是关于异步 http 请求的。如何将我的代码更改为同步?
【问题讨论】:
-
进行 ajax 调用然后使用
window.location.href是没有意义的。您的方法需要返回部分视图,然后在回调中更新 DOM 的某些部分,例如success: function(data) { $(someElement).html(data); } -
我已经意识到但粘贴了旧代码。对不起。无论如何,我更喜欢将其更改为不异步,因此我不必像您描述的那样为此更改整个视图
-
对不起,您的最后评论毫无意义——它与异步或同步无关
-
你能详细说明“但我想这不会发生”的意思吗???
-
嗯...我的意思是在处理数据后只是简单地从控制器重定向到视图。所以我应该将第一个 ajax post call 切换为一个简单的 post call(但不知道是哪个,以及如何)?
标签: c# .net ajax asp.net-mvc