Я работаю над приложением, которое сделает запрос POST ajax скрипту PHP на моем сервере. Сценарий будет запрашивать базу данных и возвращать строку записей в виде массива. (Один массив для каждой строки, содержащий такие элементы, как id, title и т. Д.). Затем я хочу использовать json_encode()
для кодирования этого массива и передать его обратно в javascript, который будет использовать его для отображения записей.
1) Как я могу вернуть закодированную JSON строку в javascript? 2) Как будет цикл javascript через строки и получить доступ к их полям?
Чтобы получить JSON с jQuery, просто используйте jQuery.getJSON () . Кроме того, вы можете использовать любой другой инструмент AJAX, а затем просто eval () json, чтобы получить объект javascript.
Чтобы перебрать массив, я обычно использую jQuery.each () :
var recordList = yourMethodToGetRecordListWithAjax(); jQuery.each(recordList, function() { alert(this.Name); // For example });
1) в скрипте php:
$return["foo"] = "bar"; $return["blah"] = "bleg"; print json_encode($return);
2) в javascript:
$.ajax({ type: "POST", url: URL, cache:false, data: values, dataType:'json', success: function(json) { var foo = json.foo; if (json.blah == "bleg") { // do stuff } } // end success function }); // end ajax call
Вы можете вернуть закодированную JSON строку в JS, повторив ее с помощью Content-Type приложения / json.
См. Выше ответ для остальных.