Ich mache den Aufruf mit dem folgenden Skript, das beim Klick auf ein Anchor-Tag aufgerufen wird
%Vor%In der Serveranwendung erhalte ich den Anruf, so dass ich weiß, dass es sich um eine gültige URL handelt, der Rückruf jedoch nicht aufgerufen wird. Wenn ich den jquery-Code (f11 / f10) einstelle, wird der Callback aufgerufen ?? !!!?
Der Server gibt Ergebnisse aus der MVC-Anwendung in Form einer Klasse zurück
%Vor%Wenn ich über den Browser result =
auf die URL zugreife %Vor% Wenn Ihr Ergebnis nicht erfolgreich ist, wird dieser Rückruf nicht ausgelöst, dies ist normalerweise auf die Rückgabe ungültiger JSON zurückzuführen. Um es zu testen, können Sie die lange Form von $.getJSON
verwenden, so dass Sie den Fehler sehen können:
Wenn es sich um einen JSON / Parser-Fehler handelt, können Sie Ihre Antwort nehmen und sehen, was mit JSONLint nicht stimmt, hier: Ссылка
Eine wahrscheinliche Wette ist, dass Sie kein gültiges JSON zurückgeben. Die jQuery-Dokumentation bemerkt, dass "ab jQuery 1.4, wenn die JSON-Datei einen Syntaxfehler enthält, die Anforderung normalerweise im Hintergrund fehlschlägt." Übergibt der JSON-Text, den du versuchst, JSON Lint ? Sie können auch (zumindest vorübergehend) zu jQuery.ajax wechseln. Es ermöglicht mehr Fehlerbehandlung. Etwas wie:
%Vor%Aus jQuerys Dokumentation :
Wichtig: Wenn die JSON-Datei einen Syntaxfehler enthält, schlägt die Anforderung ab jQuery 1.4 normalerweise automatisch fehl.
Ist Ihre JSON also gültig?
Was gibt das obige aus? (Angenommen, Ihr Browser hat console
.)
Sie müssen signalisieren, um JSONGets in Ihrer Controller-Aktion zuzulassen, wenn Sie die Serialization Json-Methode aufrufen:
%Vor%