Как стать автором
Обновить

Комментарии 17

Спасибо! Интересно, плюсанул Вам карму.
Вы очень быстро читаете :)
зато у него первый коммент.
гугл очень давно отдаёт jsonp в виде:
window.callback && window.callback({…})
спасибо, лаконичный вариант :)
только лучше
typeof console!=='undefined' && typeof console.log !== 'undefined'
заменить на
typeof console !== 'undefined' && typeof console.log == 'function'
Чтобы ошибки не кушались, автор JSON сервиса может предусмотреть дополнительный debug-параметр, благодаря которому в вывод не будет добавлятся проверка существования музыки. Писать какой-то console не разумно — у меня ничего такого нет и не предвидится.
akzhan, непонятно.
вы узнали про возможность использования в аякс функций callback?
тогда вам стоит поближе познакомиться с реализациями аякса в jQuery и ExtJs.
У нас достаточно давно используется JSONP-протокол.

Но вот такой трюк с защитой от ошибок браузера я вижу впервые.
Правда, уже показали аналогичный приём от Google.

P.S.: я не автор статьи, я переводчик ;)
яваскрипт и так пишет в консоль ошибки…
{
 "members":
   [
    'Paul':{ ... more info ... },
    'Ringo':{ ... more info ... },
    'John':{ ... more info ... },
    'George':{ ... more info ... }
  ]
}

> Это я не смогу использовать в Javascript без финтов.
Почему?

С этим на самом деле нет не каких проблем.

val['members'].Paul или val['members']['Paul']

P.S.
Извините, если я Вас не правильно понял.
мы получаем строку. а далее надо сделать хотя бы eval('(' + text + ')');
Но ведь json это не строка, это объект.

eval — это не есть хорошо.

Обращаться к полю объекта с помощью eval() — неоптимально. Следующая конструкция
var propertyName = «value»;
eval(«obj.» + propertyName + "= 1")

выполняется в 10—100 раз дольше, чем

obj[propertyName] = 1
Вы не поняли. Любая операция типа $.getJSON, к примеру, лишь прячет за фасадом выполнение

eval('(' + httpRequest.responseText + ')');

Для JSONP этого не требуется.
Всё ясно, спасибо за пояснения.
JSONP нужен, на самом деле, не для этого, а для возможности кроссдоменных вызовов.
Непонятно, к чему вы это написали :)
Известно, что JSONP создан для кроссдоменных вызовов, а также для ухода от лишнего Ajax в некоторых случаях.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории