Intereting Posts
Использование PhpRenderer непосредственно с дочерними представлениями в ZF2 php и simpleXml – как изменить содержимое узла Получение ошибки в рабочей среде, работающая нормально в localhost Неверные настройки DNS, php_network_getaddresses: getaddrinfo failed Имя или услуга неизвестны, nslookup PHP + Jquery – передать значение через ajax в php и проверить переменную Регулярное выражение для комментариев и многострочных комментариев и пустых строк IE 6 и несколько элементов кнопок, отправляющих их имя и значения Различные теги div, использующие регулярное выражение в php PHP Получить минимальные и максимальные значения в двумерном ассоциативном массиве Создание CSV-файла из таблицы MySQL с использованием php Php.Advance еженедельный календарь на неделю Как отправлять изображения в Instagram с помощью API file_get_contents с https-запросами через прокси-сервер Сбой php-сессии в приложении Android PHP создать файл без fopen

Структура JSON не работает в IE7 (JavaScript)

Хорошо, я новичок в JSON, поэтому, пожалуйста, простите меня, если мой вопрос немного незначителен – я слишком сильно бил головой о стену и нуждался в советах экспертов.

Я пытаюсь получить простой пример работы, где HTML-страница использует функции JSON / AJAX jQuery для вызова на пример страницы PHP, которая передает простую структуру данных JSON, а затем страница использует jQuery для записи одного из элементов из структура данных на страницу. Работает в FF. Не работает в IE7 arrrggghhhh!

Код HTML (соответствующие разделы):

<script language="javascript" type="text/javascript" src="jquery.js"></script> <script language="javascript" type="text/javascript"> function testAJAX() { $.getJSON("test-ajax.php", function(json){ $("#div1").html(json.var1[1]); }); } </script> </head> <body> <input type="button" value="test ajax" onclick="testAJAX();" /> <div id="div1"> </div> </body> 

PHP Code (test-ajax.php):

 <?php include_once('./json.php'); $output = array('var1' => array('value1a', 'value1b', 'value1c'), 'var2' => array('value2a', 'value2b', 'value2c')); header("Content-type: text/plain"); echo json_encode($output); ?> 

У json.php есть функция json_encode (), которую я использую – я получил ее из http://us2.php.net/manual/en/function.json-encode.php . Я использую его, потому что у меня нет PHP5, и мои администраторы sys не будут устанавливать какую-либо поддержку для него. Просто просматривая test-ajax.php прямо в вашем браузере, печатает сериализованную структуру JSON следующим образом:

 {"var1":["value1a","value1b","value1c"],"var2":["value2a","value2b","value2c"]} 

который представляется действительной структурой JSON. В моем JavaScript я пытаюсь ссылаться на 'value1b' , делая это: json.var1[1] . FF отлично справляется с этим. IE7 говорит, что это не определено.

Что я делаю не так? Как взять перенос 2-мерного массива, подобного этому

 array('var1' => array('value1a', 'value1b', 'value1c'), 'var2' => array('value2a', 'value2b', 'value2c')); 

над JSON / AJAX? Или это невозможно?