2011-02-02 5 views
0
jQuery('input').live('click',function(e){ 
    $.getJSON(
     "/json.php", 
     function(data){ 
      the_name = data.name; 
     } 
    ); 

}); 

Когда мы нажимаем, он должен выполнить запрос json.Ajax «Не удалось загрузить ресурс»

Бит, он дает ошибки.

В Google Chrome консоли:

  • Не удалось загрузить ресурсу http://site.com/json.php
  • Uncaught TypeError: Не удается прочитать 'имя' свойства нуль

В Firefox консоли:

  • GET http://site.com/json.php - выделена жирным шрифтом красного цвета.
  • данные null; the_name = data.name;

Странная, когда я открываю http://site.com/json.php, браузер дает мне нормальный JSon код вроде: {"name":"Mary"}. Он кодируется php json_encode();

В чем проблема?

+0

Является ли ваше место на вашем сайте 'site.com'? Вы не можете выполнять междоменные запросы ajax. http://en.wikipedia.org/wiki/Same_origin_policy –

+0

да, то же самое расположение – James

ответ

1

может быть ваша строка JSON не является правильным:

попробовать

$.get("/json.php", function(data) {alert(data)}); 

если вы видите, вам данные в окне предупреждения попробовать:

$.get("/json.php", function(data) { 
    var obj = $.parseJSON(data); 
    alert(obj.name) 
}); 
+0

Первый код дает мне ошибку «null» – James

+0

второй также дает «null» – James

+0

Если первый тест не работал, это означает, что у вас есть проблема с вашим скриптом php. Запрос, который вы делаете, находится в том же домене? – alexl

0

Ваш json.php сценарий не установил HTTP-заголовок Content-Type: application/json?

+0

он имеет заголовок ('Content-Type: приложения/JSON; кодировка = UTF-8'); – James

+0

@Хорошо, ну тогда все кажется прекрасным. Это очень странно. «FireBug» показывает вкладку JSON в ответе? –

+0

попытался удалить, ничего не изменилось – James

0

Загрузите Firebug и проверить запрос и ответ с помощью консоли. Убедитесь, что запрос отправлен правильно и что ответ с сервера правильно отформатирован JSON.

+0

Я заметил ответ firefox, json-код кажется действительным, проверен на http://www.jsonlint.com/ – James

+0

. Итак, вы можете видеть, что правильный JSON возвращается на вкладку Response? –

+0

нет вкладки json и ответа на запрос файла. – James