2012-03-05 3 views
1

Я получаю обратно следующий набор данных с моего сервераСверление в формате JSON

{"success":"y","carrier":"Verizon Wireless","isMobile":"true"} 

и когда я пытаюсь углубиться в результате JSon из моей функции АЯКС

$.ajax(
{ 
    url: 'php/lookup.php', 
    data: 'number='+encodeURIComponent(num), 
    datatype: 'json', 
    type: 'get', 
    success: function (j) 
    { 

     alert(j); 
     alert(j.carrier); 

    } 

Я могу предупредить вся строка JSON, когда я делаю предупреждение (j), но когда я делаю предупреждение (j.carrier), я получаю неопределенный.

Может кто-то пролить свет на это?

Спасибо!

ответ

5

Использовать dataType: 'json' вместо datatype: 'json'.

JavaScript чувствителен к регистру, а jQuery.ajax требует не распознать строчные буквы datatype.

+0

Это было! Благодаря! – ackerchez

4

datatype должно быть dataType (обратите внимание на капитал T).

2

Попробуйте изменить datatype на dataType. Вы также можете отправить код вашего сервера заголовком Content-type: application/json, но исправления параметра, вероятно, должно быть достаточно.

+0

Это потому, что без 'dataType', jQuery использует тип MIME, чтобы угадать, что такое' dataType' :-) –

+1

@Rocket Yup. Никогда не больно быть слишком конкретным. :) –

Смежные вопросы