JQuery Ajax-Rückgabewert und kein Rückgabewert problem

Quelle: Internet
Autor: Benutzer

Es gibt viele Arten von Jquery Ajax Rückgabewerte, wie html, Text, Json, XML-Typen, die wir verwenden können, in AJAXP Verarbeitung direkt anonyme Funktionen nutzt, um direkt zu erhalten, die folgenden organisiere ich ein Beispiel für Jquery Ajax-Rückgabewert für Sie zu beziehen.

Die evocars häufig in Jquery verwendet werden $.ajax (), $.post, $abrufen (), $.load ().

Beispiel

Der Code lautet wie folgt

$.Post ("test.jsp",
{Name: "Cssrain", Zeit: "2008/01/21"}, / / Daten übergeben werden
Funktion (Daten) {}
Alert ("Daten zurückgegeben:" + Daten);
}
)

Der Rückgabewert dieser Daten ist, und wir nur noch zu gehen in die Datenverarbeitung Rückgabeergebnis in Funktion (Daten) {} dieser anonyme Funktion

Beispiel $.load)

Der Code lautet wie folgt

$ ("#Loadajax"). Last ("http://www.111cn.net. Post",

Funktion (ResponseText, TextStatus, XMLHttpRequest) {}

Das; //Here dieser Punkt ist der aktuellen DOM-Objekt, das heißt, $ (". Ajax.load") [0]
});

≪ Div-Id = Loadajax > So Sie den Rückgabewert der Last erhalten.

Beispiel

Der Code lautet wie folgt

$.Ajax ({}
Typ: "Get", / / die Get-Methode verwendet, um den Hintergrund zugreifen
Datentyp: "JSON", / / gibt Daten im JSON-Format
URL: "BackHandler.ashx",//the Hintergrund-Adresse für den Zugriff auf
Daten: "PageIndex =" + PageIndex, / / zu senden
Komplett: Funktion () {$ ("#load"). (Hide); Hide laden wann fordert}, / / Ajax-Anforderung abgeschlossen ist
Erfolg: Funktion (msg) {//msg für die zurückgegebenen Daten, Datenbindung
Var Daten = msg.table;
$...Jeder (Daten, Funktion (I, n) {}
Var Zeile = $ ("#template"). Klonen ();
Row.find ("#OrderID"). Text (N. Bestell-ID);
Row.find ("#CustomerID"). Text (N. Kundennummer);
Row.find ("#EmployeeID"). Text (N. Mitarbeiterkennung);
Row.find ("#OrderDate"). Text (ChangeDate (N. Bestelldatum));
Wenn (N. Liefertermin! == undefined) row.find ("#ShippedDate"). Text (ChangeDate (N. Liefertermin));
Row.find ("#ShippedName"). Text (N. Name des Cargo-Besitzer);
Row.find ("#ShippedAddress"). Text (N. Inhaber Adresse);
Row.find ("#ShippedCity"). Text (N. Cargo City);
Row.find ("#more"). HTML ("< ein href=orderinfo.aspx?id=" + N. Bestell-ID + "& Pageindex =" + Pageindex +" Weitere </a > ");
ROW.ATTR ("Id", "Ready"); //change die ID der Zeile, die die guten Daten bindet
Row.appendTo ("#datas"); //added in den Container der Vorlage
});

Dies ist derjenige, der das JSON-Format wieder.

JQuery Ajax keinen Rückgabewert

In Jquery Ajax-Methode bestimmt nach der Übergabe von Parametern, der Rückruf gibt es zwei Fälle von Erfolgs- und Fehlermeldungen.

Manchmal, ohne die Notwendigkeit, einen Wert zurückgeben, werfen in der Vorlage-Format, legen Sie den Datentyp: "JSON", Parameter, an diesem Punkt, wenn der Ajax-Transfer-Wert korrekt ist, gibt es ein Spezialfall des 200 return Fehler in der erfolgreichen Zustand.

Die Setup-Problem für den Datentyp der Rückgabewert der Methode Ajax war zuvor nicht bemerkt. Wenn gibt es keine Callback-Parameter, gibt es in der Regel keine Notwendigkeit, den Datentyp des Rückgabewerts festgelegt. Wenn die Einstellungen falsch gehen, sind sie in der Regel falsch berichtet. An dieser Stelle die direkte Kündigung der Datentyp: "JSON",

Die richtige Vorlage für die Ajax-Methode ohne Rückgabewert:

Der Code lautet wie folgt

$.Ajax ({}

Typ: "Post",

URL: "index.php"

Daten: "Id =" + Uid,

Erfolg: Funktion () {}

Alarm (1);

},

"Error:"-Funktion () {}

Alarm (0);

}

});

Beispiel

JQuery Ajax überprüft den Namen des Benutzers. Postfach, Bestätigungs-code

Der Code lautet wie folgt

Function Check_email)
{
Var Check_email = $ ("#reg_mail"). (Val);
Var Reg = / ^ ([ein-zA-Z0 - 9_-]) + @ ([ein-zA-Z0 - 9_-]) + (/. [ A-zA-Z0 - 9_-] {2,3}) {1,2}) $/;
Flag = Reg.test (Check_email);
Wenn (Flag)
{
Var Email_value = $ ('#reg_mail'). (Val);
$Abrufen ("[var.base_url]register.php", {Check_name: "e-Mail", Check_value:email_value, Async:false}, funktionieren (JSON) {}
$ ('#Res_mail'). HTML (JSON);
Wenn (Json == "OK")
{
$ ('#Res_mail'). HTML ("< Schriftfarbe ="grüne"Schriftgröße = ' _ diese e-Mail-Adresse registriert werden kann!" ");
Gibt true zurück;
} Else {}
$ ('#Res_mail'). HTML ("< Schriftfarbe = 'Rot' Schriftgrad = ' _ diese e-Mail registriert worden!" ");
Return false;
}
});
} Else {}
$ ("#Res_mail"). HTML ("< Schriftfarbe = 'rot' Schriftgrad = ' a '/ ' s _ Bitte geben Sie die korrekte e-Mail-Adresse!" ");
Return false;
}
}

So hat es angefangen. Allerdings ist es immer unmöglich, die zurückgegebenen Status True oder False ein undefinierter um zu überprüfen, eine Vielzahl von Informationen zurück zu bekommen. Ein Beitrag über CSDN ist klassisch:

Der Code lautet wie folgt

Var Boolean = False;
$Abrufen (Daten) {//understanding ist nicht schwierig, solange Sie zunächst wissen, dass die Methoden in Jquery alle Jquery oder Objekte angegeben von Jquery zurück.
JQuery Ajax Methoden wie Get und post Standard sind asynchrone Interaktion, so dass die Get-Methode zurückgegeben wird, wenn es ist noch nicht fertig, und die BL die BL ist = falsch, dass Sie definieren, so dass es immer "false"; zurückgibt ein Wert für den Wechsel zum Sync sollte.
So um den richtigen Wert von BL zurück zu setzen, Sie die Get-Methode ändern müssen. Rückgabewert Verarbeitung erfolgt in der Regel nicht in der Ajax-Methode.
Sie können verwenden $.data ("BL", Bl); Ihr Wert speichern und dann $.data ("BL") verwenden, um den Wert zu nehmen.
Wenn (data.indexOf ("wahr") > = 0) {}
$ ("#Mid"). HTML ("Anmeldung erfolgreich");
BL = True;
$.Data ("BL", BL);
}
Else {}
$ ("#Mid"). HTML ("User Name oder Kennwort Fehler");

BL = False;
$.Data ("BL", BL);
}
});
Rückkehr BL;

Dadurch können Sie den zurückgegebenen Zustand zu erhalten. Speichert Werte mit der Data-Methode. Und dann bekommen es. Es geht auch anders.

Der Code lautet wie folgt

$Abrufen (Daten) setzt den Transportmodus auf synchroner transport

Die letzte Änderung Funktion ist wie folgt. Test OK.

Der Code lautet wie folgt

Function Check_email)
{
Var Check_email = $ ("#reg_mail"). (Val);
Var Reg = / ^ ([ein-zA-Z0 - 9_-]) + @ ([ein-zA-Z0 - 9_-]) + (/. [ A-zA-Z0 - 9_-] {2,3}) {1,2}) $/;
Flag = Reg.test (Check_email);
Wenn (Flag)
{
Var Email_value = $ ('#reg_mail'). (Val);
$Abrufen ("[var.base_url]register.php", {Check_name: "e-Mail", Check_value:email_value, Async:false}, funktionieren (JSON) {}
$ ('#Res_mail'). HTML (JSON);
Wenn (Json == "OK")
{
$ ('#Res_mail'). HTML ("< Schriftfarbe ="grüne"Schriftgröße = ' _ diese e-Mail-Adresse registriert werden kann!" ");
Tamp_email = True;
$.Data ("Tamp_email", Tamp_email);
$ ('#Sub_reg'). Attr ("deaktiviert", false);
} Else {}
$ ('#Res_mail'). HTML ("< Schriftfarbe = 'Rot' Schriftgrad = ' _ diese e-Mail registriert worden!" ");
Tamp_email = False;
$.Data ("Tamp_email", Tamp_email);
$ ('#Sub_reg'). Attr ("Disabled", true);
}
});
Rückkehr Tamp_email;
} Else {}
$ ("#Res_mail"). HTML ("< Schriftfarbe = 'rot' Schriftgrad = ' a '/ ' s _ Bitte geben Sie die korrekte e-Mail-Adresse!" ");
Return false;
}
}

Kontaktiere uns

Die Inhaltsquelle dieser Seite ist aus dem Internet, und vertritt nicht die Meinung von Alibaba Cloud; auf dieser Seite erwähnte Produkte und Dienstleistungen haben keine Beziehung zu Alibaba Cloud. Wenn der Inhalt der Seite Ihrer Meinung nach verwirrend ist, schreiben sie uns bitte eine E-Mail. Wir werden das Problem innerhalb von 5 Tagen nach Erhalt Ihrer E-Mail bearbeiten.

Wenn Sie Fälle von Plagiaten aus der Community feststellen, senden Sie bitte eine E-Mail an info-contact@alibabacloud.com und legen Sie entsprechende Beweise vor. Ein Mitarbeiter wird Sie innerhalb von 5 Werktagen kontaktieren.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.