Знаете ли вы, что, хотя статус HTTP равен 404, фактическое тело является допустимым JSON? Например, эта ссылка имеет следующий JSON:
jsonp1269278524295({"request":"/status/user_timeline/jksqdlmjmsd.json?count=3&callback=jsonp1269278524295&_=1269278536697","error":"Not found"})
Таким образом, вы должны проверить, есть ли у ваших данных свойство error
в вашей обычной функции обратного вызова.
ОБНОВЛЕНИЕ : по-видимому, даже если фактическое содержимое страницы является допустимым JSON, браузер (я проверял в Firefox) не выполняет его, скорее всего, потому что это 404. Поскольку jQuery должен добавьте элемент script
(из-за междоменной проблемы), его JSONP-оболочка никогда не вызывается, и, как следствие, ни ваши обратные вызовы.
Итак, вкратце, я не думаю, что есть способ справиться с этим, не добавляя вручную этот элемент скрипта и не проверяя, была ли ваша предварительно определенная функция обратного вызова вызвана впоследствии.