Я не совсем уверен, в чем ваша проблема на самом деле, но:
Интерпретация 1
Предполагая, что под "локально" вы подразумеваете "без использования обратного вызова":
Это невозможно.JSON-P не может работать синхронно, поскольку это зависит от добавления элемента <script>
(который не будет обработан, пока не завершится выполнение текущей функции).
Интерпретация2
Предполагая, что под that isnt existing ("myfunction()")
вы подразумеваете «Ваш веб-сервис всегда использует имя функции myfunction
:
Исправьте веб-сервис. jsonp=?
означает« Произвольно сгенерируйте имя функциии передайте его как параметр jsonp
.
Веб-служба должна использовать этот параметр для определения используемого имени функции, а не использовать фиксированное значение, такое как myfunction
.
Интерпретация 3
Вы не хотите использовать JSON-P в качестве входных данных, но для непосредственного вызова анонимной функции.
Вы не можете.Он не хранится в любом месте, где вы можете получить к нему доступ.Вы должны переписать свой код, чтобы он не передавался напрямую getJSON
:
function myFunction(data){
console.log(data);
}
$.getJSON("http://server/series/hist?jsonp=?", myfunction);
myfunction({"a":1})