Rah*_* RJ 6 asp.net-mvc jquery asp.net-ajax asp.net-mvc-4
我想在我的MVC视图中进行AJAX POST.我写了以下内容:
视图中的脚本代码
$('#media-search').click(function () {
var data = { key: $('#search-query').val() };
$.ajax({
type: 'POST',
url: '/Builder/Search',
data: JSON.stringify(data),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
$('.builder').empty();
alert("Key Passed Successfully!!!");
}
});
});
Run Code Online (Sandbox Code Playgroud)
控制器代码
[HttpPost]
public ActionResult Search(string key)
{
return RedirectToAction("Simple", new { key=key });
}
Run Code Online (Sandbox Code Playgroud)
但是在AJAX POST上,我发现302找到了错误
'302'响应代码是重定向.您的控制器操作显式返回a RedirectToAction,它只返回302.由于此重定向指令由AJAX调用消耗而不是由浏览器直接使用,如果您希望重定向浏览器,则需要执行以下操作:
$.ajax({
type: 'POST',
url: '/Builder/Search',
data: JSON.stringify(data),
dataType: 'json',
contentType: 'application/json; charset=utf-8',
success: function (data) {
if (data.redirect) {
window.location.href = data.redirect;
}
$('.builder').empty();
alert("Key Passed Successfully!!!");
}
});
Run Code Online (Sandbox Code Playgroud)
如果没有,您将需要返回比控制器中的重定向指令更有意义的内容.
| 归档时间: |
|
| 查看次数: |
9529 次 |
| 最近记录: |