Heim > Artikel > Backend-Entwicklung > Wie PHP+AJAX domänenübergreifend realisiert
PHP-Dateicode [Ich verwende PHPCMS als Beispiel]
Fügen Sie einen mobilen Ordner [Modul] unter dem Ordner phpcmsmodules hinzu. Fügen Sie eine index.php-Datei unter dem Modul hinzu. Der Code lautet wie folgt:
/**
public function test()
{
//Datenbankmodell laden
$mb_start_db = pc_base::load_model('mb_start_model');
$where = array('id'=> 1);
$data = ('pic1,pic2,pic3');
$res = $mb_start_db->get_one($where, $data);
if($res)
result '= & gt; echo $ _get [' callback '].' $ json_arr = Array ('status'=>1,'msg'=>'Success!','result'=>$res);
echo json_encode($json_arr);die;
}
}
}
Dies ist ein vollständiger Code
**/
Hinweis: : Der obige Code hat ein $_GET['callback'], das ist es nur ein Parameter von jsonp;
Sehen Sie sich den Code der HTML5-Seite an:
Das endgültige Rendering ist wie folgt:
Aber wenn Sie auf die Schaltfläche „Daten abrufen“ klicken [Hinweis: Der Name der Schaltfläche sollte „Daten abrufen“ lauten, Entschuldigung für den Tippfehler], wird die folgende Fehlermeldung angezeigt:
Dieser Fehler ist nicht zulässig, oder domänenübergreifend ist verboten. Die Lösung ist sehr einfach:
/**
header("Access-Control-Allow-Origin:*");* gibt an, dass auf alle Domänennamen zugegriffen werden kann
**/
Nach dem Hinzufügen des obigen Codes ist der endgültige Effekt wie folgt:
If dataType :'jsonp', wie unten gezeigt
Sehen Sie sich den PHP-Code an:
Die Ergebnisse sind wie folgt:
Eine kurze Zusammenfassung von 2 Punkten:
1. Verwenden Sie JSONP, wenn Sie Ajax-Anfragen stellen, und bringen Sie dann auch JSONP-Daten mit, wenn Sie PHP empfangen und zurücksenden.
2. Nur zur Unterstützung von HTML5 bereitgestellt. Um den Browser zu verwenden, müssen Sie nur die folgenden zwei Sätze zum PHP-Header hinzufügen header("Access-Control-Allow-Origin:*" ); //* gibt an, dass alle Domainnamen vorhanden sind. Sie könnenheader("Access-Control-Allow-Method:POST,GET");
Weitere Artikel zur PHP+AJAX-Implementierung finden Bei domänenübergreifenden Methoden achten Sie bitte auf die chinesische PHP-Website!