Trong ASP.Net MVC 3.0 tôi đang sử dụng một Ajax.BeginformASP.Net MVC 3.0 Ajax.BeginForm đang chuyển hướng đến một Trang?
và nhấn JsonResult về thành công của biểu mẫu tôi đang gọi một hàm jQuery. nhưng đối với một số lý do hình thức của tôi đang chuyển hướng tới JsonAction
Xem tôi
@using (Ajax.BeginForm("ActionName", "Controller", null, new AjaxOptions
{
HttpMethod = "POST",
OnSuccess = "ShowResult"
}, new { id = "myform" }))
{
// All form Fields
<input type="submit" value="Continue" class="button standard" />
}
điều khiển của tôi
public JsonResult ActionName(FormCollection collection)
{
return Json(new { _status },JsonRequestBehavior.AllowGet);
}
jQuery
<script type="text/javascript">
function ShowResult(data) {
// alert("I am at ShowResult");
if (data.isRedirect) {
window.location.href = json.redirectUrl;
}
}
vì lý do nào đó, khi tôi nhấp gửi. nó chạy JsonResult và chuyển hướng trang để lưu trữ/controller/actionname Tôi đã bao gồm tôi
<script src="@Url.Content("jquery.unobtrusive-ajax.min.js")"></script>
trong layout.cshtml tôi
bất kỳ ai có thể cho tôi biết những gì có thể xảy ra?
Tôi đã tìm thấy sự cố. Bây giờ tôi phải tìm ra giải pháp trên nộp Tôi xác nhận hình thức của tôi
$("#myform").validate({
submitHandler: function (form) {
// my logic goes here....
}});
Nếu tôi loại trừ hình thức xác nhận Ajax làm việc như mong đợi. Nhưng nếu tôi xác nhận hình thức của tôi thì hình thức ajax không hoạt động như mong đợi Cảm ơn
Gọi lại javascript của bạn có được gọi không? Bạn đã kiểm tra với fiddler, rằng đối tượng JSon của bạn được trả lại chính xác cho trình duyệt? Những gì bạn có nghĩa là excactly với * chuyển hướng đến JsonAction *? – Jan
tập lệnh java của tôi nằm trong cùng một trang. Bởi vì nó đang chuyển hướng đến trang khác. JavaScript không thể được gọi. và có đối tượng Json của tôi được trả về như mong đợi. tôi thấy kết quả json trong trang được chuyển hướng mới – HaBo