在Ajax Post Request之后调用Submit Action时。它返回值为“Bad Request”的错误方法。为什么不成功?如何解决这个问题?
Ajax请求:
<p>
@using (Html.BeginForm("Submit", "Test"))
{
<span>
Price: @Html.TextBox("Price", string.Empty)
</span>
<input id="submit" type="submit" value="test" />
}
</p>
<div id="testPost">
</div>
@section Scripts {
<script type="text/javascript">
$(function () {
$('#submit').on("click", function () {
var form = $(this).parent("form");
$.ajax({
type: "POST",
url: form.attr('action'),
data: form.serialize()
})
.success(function (html) {
$('#testPost').replaceWith(html);
alert("Success");
})
.error(function () {
alert("Bad Request");
});
return false;
});
});
</script>
}
提交行动:
[HttpPost]
public ActionResult Submit(Auction auction)
{
return PartialView("_CurrentPrice",auction);
}
部分视图:
<p class="current-price">
<h2>ACTIVE HERE</h2>
</p>
答案 0 :(得分:1)
问题得到解决。部分视图不在Shared文件夹中。
答案 1 :(得分:0)
请尝试这个,并告诉我们这是否有效..
$.ajax({
type: "POST",
url: "/test/submit",
data: form.serialize()
})
注意:应该有一个受控制的名为“TestController”和一个名为“Submit”的动作,你已经拥有......
如果这样可行,请输入console.log(form.attr(“action”))并查看返回值是什么......
答案 2 :(得分:0)
您应该使用firebug并将对象arguments[0]
和属性arguments[0].responseText
检入错误方法。它有助于了解服务器返回错误的原因。
或尝试 -
.error(function () {
$.('body').html(arguments[0].responseText);
}
并检查名称Partial View。它必须等于“_ CurrentPrice”