Ich habe ein Problem mit der Verwendung der jQuery JSONP-Methode $.getJSON
in CodeIgniter. Die URL, von der der JSON abgerufen wird, lautet wie folgt:
Das Problem ist, dass ich eine demo.html
-Datei habe, die die Methode $.getJSON
ausführt und die Daten von der oben angegebenen URL abruft.
demo.html.html :
%Vor% Wenn ich demo.html
starte, passiert nichts. Wie Sie sehen können, sollte es die zurückgegebenen Daten alarmieren, wenn ich die URL zu einer anderen ändere, die CodeIgniter nicht als Framework verwendet. Ich bekomme die Alarmfunktion ausgeführt, aber in diesem Fall funktioniert es nicht, während ich die mit CodeIgniter gesicherte URL verwende. Hat jemand eine Lösung für mein Problem? Ich würde es sehr schätzen, wenn Sie mir ein Feedback geben würden. Vielen Dank im Voraus!
Das kaufmännische Und-Zeichen in Ihrer URL stimmt nicht:
%Vor%Es sollte etwas in Richtung
sein %Vor%Laufen, dass ich die Antwort von
bekomme %Vor%Dies bedeutet, dass es versucht, die Funktion jsonp123 aufzurufen, und der adat-Teil Ihres Codes wird zu diesem Zeitpunkt nie verwendet.
Ich denke, das Problem, mit dem Sie konfrontiert sind, liegt in der Einschränkung, dass Browser keine domainübergreifenden Anfragen zulassen. Ich vermute, dass Sie Ihre App auf einer anderen Domain / Sub-Domain hosten und das ist, was dieses Problem verursacht.
Was Sie verwenden müssen, ist JSONP, d. h. Json mit Padding. Details hier: Ссылка
Schau dir jsonp in jquerys ajax api an: Ссылка und schau, ob das dein Problem löst.
Standardmäßig erlaubt CI keine Abfragezeichenfolgen, also haben Sie enable_query_strings in Ihrer config.php aktiviert?
%Vor% Stellen Sie auch sicher, dass $config['allow_get_array']
in der config.php auf TRUE
gesetzt ist. Dadurch können Sie
$this->input->get();
in Ihren Controllern.
Tags und Links jquery php jsonp codeigniter