Meine MVC-Anwendung erzeugt den folgenden HTML-Code, der bei der Übergabe einen Javascript-Syntaxfehler verursacht (ich gebe nichts in die beiden Textfelder ein). Hier ist die erzeugte HTML und der Handler einreichen:Syntaxfehler mit parseJSON bei unauffälliger Validierung
<form action="/UrIntake/Save" id="UrIntakeForm" method="post">
<input data-val="true" data-val-length="The field LastName must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The LastName field is required." id="FormSubmitter_LastName" name="FormSubmitter.LastName" type="text" value="" />
<input data-val="true" data-val-length="The field FirstName must be a string with a maximum length of 50." data-val-length-max="50" data-val-required="The FirstName field is required." id="FormSubmitter_FirstName" name="FormSubmitter.FirstName" type="text" value="" />
<div id="SubmissionButtons" class="right">
<input type="button" onclick="SubmitForm()" value="Submit" />
<input type="button" onclick="CancelForm()" value="Cancel" />
</div>
</form>
function SubmitForm() {
$("#UrIntakeForm").valid();
.
.
.
Dies ist die jQuery-Code, wo der Syntaxfehler auftritt (v1.9.0). „Daten“ ist nicht definiert und die „Rückkehr“ Linie ist, wo der Fehler auftritt:
parseJSON: function(data) {
// Attempt to parse using the native JSON parser first
if (window.JSON && window.JSON.parse) {
return window.JSON.parse(data);
}
Vermutlich, ich habe nichts in die Textfelder eingeben (und sollte dann bekommen das „Feld ist erforderlich“ -Nachricht). Ist das der Grund für den Fehler? Das macht keinen Sinn, aber ich sehe nicht, was es sonst sein könnte.
Ich glaube nicht, dass der Fehler erkennbar ist, was Sie hier sind zeigt. Versuchen Sie, einen Haltepunkt in den jQuery-Code zu setzen, in dem der Fehler auftritt, und schauen Sie durch den Stack-Trace zurück, um zu sehen, woher er aufgerufen wird. Das gibt Ihnen Hinweise, warum NULL an diese Funktion übergeben wird. – Jerry
Wird tun. Wenn ich etwas hilfreiches finde, komme ich zurück. Vielen Dank. – birdus
Bitte stimmen Sie hier ab, damit Microsoft dies so schnell wie möglich korrigiert: http://connect.microsoft.com/VisualStudio/feedback/details/776965/please-support-jquery-v1-9-0-properly-in-jquery-validate-unobtrusive –