Это действительно простой вопрос, поэтому, пожалуйста, не делайте удовольствия ... Мне предоставлен URL-адрес веб-службы, который предоставит мне объект JSON. Я хотел бы использовать getJSON метод JQuery, например ...Использование jQuery Ajax для возврата объекта JSON
var myObj = $.getJSON("https://www.myurl/");
Однако это ISN # т работать, как когда я использую console.log (myObj.toSource()) Я просто кажется, чтобы получить много аф JavaScript написано на консоль, а не на мой объект. Я знаю, что могу добавить функцию обратного вызова с помощью этого метода, я должен сделать что-то вроде этого:
var thisJsonObj;
$.getJSON("https://www.myurl/", function(result){
thisJsonObj = result;
});
console.log(thisJsonObj.toSource());
Это не работает, либо ... где я буду неправильно? URL работает и исправляется.
Если это междоменный вызов, попробуйте jsonp вместо json в jquery. не забудьте добавить «обратный вызов» в свой серверный код. JQuery никогда не будет выполнять междоменный вызов только с помощью json, но вы можете написать свою собственную функцию Ajax, чтобы избежать этого ограничения. – Tom
ваш вызов console.log выполняется сразу после запуска HTTP-запроса, однако ваш обратный вызов не будет вызван до тех пор, пока HTTP-запрос не будет завершен, поэтому thisJsonObj не устанавливается по времени вызова console.log. Если вы переместите вызов console.log в обратный вызов, вы увидите правильный результат – jjwchoy