Ваш вопрос является хорошей иллюстрацией того, почему люди жалуются, что jquery слишком легко принять;)
JSONP - это не ajax.Нет никаких успешных и неудачных обратных вызовов.JSONP таков:
- поместите параметры в URL
- add & jsoncallback = random2745273
- создайте глобальную переменную
random2745273
и поместите в нее ссылку обратного вызова - добавьте
<script src="theurlhere"></script>
к head
- , это все, что вы можете сделать.
Сервер вернет
random2745273({somedata});
и вот какВаш обратный вызов называется.
Если вы хотите сообщить об ошибках, то ваш сервер должен сгенерировать правильный код.Вы не будете знать, какие HTTP-заголовки были отправлены.
И это единственный способ связать междоменный интерфейс с API.Отправка междоменных сообщений также возможна с помощью генерации iframes, но она хакерская и редко используется.
[edit]
Хорошо, это заставило меня задуматься ... Я мог бы использовать хак iframe дляоберните JSONP!
И, как обычно, я был не первым, у кого появилась идея (и я, наконец, достаточно скромен, чтобы погуглить мои идеи, ожидая этого;))
Вот оноэто: http://beebole.com/en/blog/general/sandbox-your-cross-domain-jsonp-to-improve-mashup-security/
офигенно
[edit2]
оу, я забыл ... Есть еще один.
window.postMessage
Это уже реализовано в некоторых браузерах.Если вам не нужно быть совместимым с большинством браузеров, вы можете начать использовать его сейчас!:)