jquery validate & ajax.beginform

Das Senden einer Ajax.Beginform unter Verwendung des JQuery Validate-Plugins stoppt das Senden nicht. Gibt es eine gute Möglichkeit, um sicherzustellen, dass die Ajax.Beginform nicht übermittelt wird?

Ich habe auch versucht, das JQuery Forms-Plugin zu verwenden, um mein Formular zu "ajaxifizieren". Das ist ein Genuss. Mein Formular ist jedoch ein Anmeldeformular. Wenn sich der Benutzer erfolgreich anmeldet, möchte ich, dass er umgeleitet wird. Ich habe dies in Ajax.BeginForm getan, indem ich ein JavaScript-Objekt zurückgegeben habe, aber der gleiche Code, der JQuery.Form.js verwendet, zeigt einfach Javascript an, anstatt es auszuführen. Gibt es eine Möglichkeit, dies zu handhaben?

[wie unten angefordert, habe ich einige Beispielcode hinzugefügt]

Controller-Code

            if (Request.IsAjaxRequest())
            {
                return Content("/receipt/latest");
            }
            else
            {
                return RedirectToAction("latest", "receipt");
            }

Ich habe dies verwendet, um einen String zu dieser js-Funktion zurückzugeben:

JS

            function manageResponse(responseText, statusText) {
                if (responseText.toString().substr(0, 1) == '/') {
                    window.location = responseText;
                }
                else {
                    $("#formResult").text(responseText);
                }
            }

Ich habe diese Optionen verwendet, um die Antwort mit dem JQuery Form-Plugin zu verknüpfen.

            var options = {
                beforeSubmit: function() {
                    return $('#login').validate().form();
                },
                success: manageResponse
            };

Es fühlt sich für mich etwas "hackig" an, aber es funktioniert. Ich habe nachgefragt, ob es einen besseren Weg gibt oder nicht.

rauben

Antworten auf die Frage(1)

Ihre Antwort auf die Frage