Ich bin seltsam Problem beim Zugriff auf JSON-Antwort.JSON-Antwort ist leer in Chrom-Konsole CodeIgniter
Wenn ich URL: http://testproject/api/index.php/admin_customers/
JSON Antwort:
[{"name":'abc'}, {"name":'def'}, "name":'xyz'}]
Aber wenn ich versuche, das gleiche von Ajax mit jqGrid zu tun, Ich erhalte keine Daten.
Mein Controller-Code:
class Api extends CI_Controller {
public function admin_customers(){
$query = "select * from customer";
$rows = $this->db->query($query);
$array_rows = $rows->result();
$json_data = json_encode($array_rows);
header('Content-Type: application/json');
echo $json_data;
}
}
Kein Glück auch nach versucht, wie:
return $this->output
->set_content_type('application/json')
->set_status_header(200)
->set_output($json_data);
Ausgangsansprechzeit In Console:
Mein jqGrid JavaScript-Code ist :
$("#data-grid").jqGrid({
url:'http://localhost/testproject/index.php/api/admin_customers/',
mtype: "GET",
datatype: "json",
colModel: [
{ label: 'Name', name: 'name', key: true, width: 75, editable: true}
],
editurl:'http://localhost/testproject/api/admin_customers_edit/',
viewrecords: true,
height: 250,
rowNum: 20,
pager: "#jqGridPager"
});
Was mache ich falsch?
Unabhängig von jQgrid wird es in der Chrome-Konsole selbst nicht angezeigt.
Und wo ist Js-Code? –
Ist die Datei mit JavaScript-Code ** von der gleichen Herkunft **? Ich meine: können Sie URLs ''http: // localhost/testproject/index.php/api/admin_customers /'' in etwas wie ''testproject/index.php/api/admin_customers /'' ersetzen? Es könnte sein, dass Sie [selbe Herkunft] (https://en.wikipedia.org/wiki/Same-origin_policy) Problem haben. – Oleg
Ja, es ist von der gleichen Domain. Ich kopierte alle meine Projektordner auch in einen anderen Ordner und versuchte mit http: // localhost/testproject-api/api/admin_customers für Rest Anruf und ich verwende die http: // localhost/testproject /, aber immer noch das gleiche Problem gesehen. Ist es wegen localhost? Wie man mit dieser Situation umgeht. Alle Dateien sollten von der gleichen Domäne selbst bedient werden, wie wir derzeit keine andere Option haben – Mithun