Попытки междоменных запросов XMLHttpRequest могут вас обмануть.В веб-консоли Firefox он может выглядеть как загруженный URL-адрес, но основной текст - пустая строка.
Убедитесь, что сервер поддерживает JsonP.Если вы действительно не знаете, что это значит, вам нужно поискать это.Это очень важно.
jQuery предполагает, что параметром JsonP будет "? Callback =".Если это не так, вы должны увидеть это: http://api.jquery.com/jQuery.ajax/
jsonp: переопределить имя функции обратного вызова в запросе jsonp.Это значение будет использоваться вместо callback в callback =?часть строки запроса в URL.Так что {jsonp: 'onJSONPLoad'} приведет к 'onJSONPLoad =?'перешел на сервер.Начиная с jQuery 1.5, установка для параметра jsonp значения false не позволяет jQuery добавлять строку «? Callback» в URL или пытаться использовать «=?»для трансформации.В этом случае вам также следует явно установить параметр jsonpCallback.Например, {jsonp: false, jsonpCallback: "callbackName"}
jsonpCallback: укажите имя функции обратного вызова для запроса JSONP.Это значение будет использоваться вместо случайного имени, автоматически сгенерированного jQuery.Желательно, чтобы jQuery генерировал уникальное имя, так как это облегчит управление запросами и обеспечит обратные вызовы и обработку ошибок.Возможно, вы захотите указать обратный вызов, если вы хотите включить лучшее кэширование запросов GET в браузере.Начиная с jQuery 1.5, вы также можете использовать функцию для этого параметра, и в этом случае значение jsonpCallback устанавливается равным возвращаемому значению этой функции.
Если это сбивает с толку, это может быть прощепросто сделайте это по старинке и добавьте скрипт на страницу самостоятельно с отметкой времени в URL, чтобы избежать использования кэшированной страницы скрипта.
Кстати, AFAIK, нет способа объединить JSONP и POST,JSONP - это способ обойти ту же политику безопасности источника XMLHttpRequest.Требуется добавить скрипт в DOM.Я не думаю, что вы можете сделать это, а также отправить переменные POST как часть процесса.