我有一个简单的ASP.NET MVC表单,其代码如下:
@using (Html.BeginForm(null, null, FormMethod.Post, new
{
action = "https://secure.authorize.net/gateway/transact.dll",
id = "registerformid",
}))
{
@Html.HiddenFor(a => a.RegisterUserInfoLoggedIn.AttendeesId)
...
我有一个JQuery ajax调用,如果JQuery成功,我希望我的表单POST到操作URL进行进一步处理。
我的JQuery看起来如下,但我无法弄清楚是什么放入我的JQuery ajax成功事件,这样我回发到动作网址,该页面响应正确并显示我的新页面。
success: function (data) {
if (donationAmount > 0.00) {
$.post("https://secure.authorize.net/gateway/transact.dll", {
x_login: 'xxx',
x_amount: 19.99,
x_description: 'Sample Transaction',
...
}, function(datax) {
this.submit();
});
答案 0 :(得分:1)
您可以使用.Submit()
success: function (data) {
$('#registerformid').submit(); // right here.
}
答案 1 :(得分:0)
您可以执行以下操作。
根据您的行动状态返回正确的json格式。
public ActionResult SomeAction()
{
return this.Json(new
{
redirectUrl = "/ControllerName/ActionName",
isRedirect = true
}, JsonRequestBehavior.AllowGet);
}
重定向到成功方法的提供页面。
$.ajax({
url: '/Home/SomeAction',
type: 'POST',
dataType: 'json',
data: json,
contentType: 'application/json; charset=utf-8',
success: function (data) {
// redirect to home if true
if (data.isRedirect) {
window.location.href = data.redirectUrl;
}
}
});