Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как правильно получить данные из "специфического" jsonp-файла? (https://javascript.ru/forum/misc/65678-kak-pravilno-poluchit-dannye-iz-specificheskogo-jsonp-fajjla.html)

Zaxap 02.11.2016 13:38

Как правильно получить данные из "специфического" jsonp-файла?
 
Здравствуйте. Возникла проблема, и нигде не могу найти решения... Везде проигнорировали, а у самого даже догадок нет. Очень надеюсь на вашу помощь.

Получаю JSONP таким образом:
var script = document.createElement('script'); 
script.src   = url + "?callback=callbackFunc";
script.async = true;
document.getElementsByTagName("head")[0].appendChild(script);


Вот код внутри полученного файла:
callbackFunc(It.Is.Your.Data('<div class="some\-html code">Some Html Code<div>'))


Но при следующих действиях
function callbackFunc (data) {
    console.log(data);
}

возвращается "undefined".


В моем коде нет "It.Is.Your.Data", и не имею никакого представления, как написать это все правильно.

В итоге хочу получить строку в скобках
callbackFunc(It.Is.Your.Data('/*строка*/')) (то есть, этот html: <div class="some\-html code">Some Html Code<div>).

Заранее спасибо!

Deff 02.11.2016 13:48

Ну если json-файл с того же домена, что и страница запроса, можно получить файл как текст

Zaxap 02.11.2016 15:21

Цитата:

Сообщение от Deff (Сообщение 433785)
Ну если json-файл с того же домена, что и страница запроса, можно получить файл как текст


Файл со стороны, но разрешение в заголовках есть, свободно получаю, как jsonp с callback.
Так бы спокойно убрал эту муть: "It.Is.Your.Data".
Другого варианта получить данные не знаю, именно данные - файл уже получен, ничего не выходит :(

Dilettante_Pro 02.11.2016 15:24

Zaxap, а вот так?
function callbackFunc(data) {
            alert(data);
        }
var It = { Is: { Your: { Data: function (data) {
            return data
        }
        }
        }
        };

callbackFunc(It.Is.Your.Data('<div class="some\-html code">Some Html Code<div>'));

Zaxap 02.11.2016 15:50

Цитата:

Сообщение от Deff (Сообщение 433785)
Ну если json-файл с того же домена, что и страница запроса, можно получить файл как текст

Цитата:

Сообщение от Dilettante_Pro (Сообщение 433795)
Zaxap, а вот так?
function callbackFunc(data) {
            alert(data);
        }
var It = { Is: { Your: { Data: function (data) {
            return data
        }
        }
        }
        };

callbackFunc(It.Is.Your.Data('<div class="some\-html code">Some Html Code<div>'));

Спасибо Вам огромное! Господи, это шикарно.
Уже дня 2-3 бьюсь над этой, казалось бы, ерундой, но так и не смог нормально объявить It с Is.Your.Data: в некоторых случаях переменная переназначалась, в некоторых выскакивали разнообразные ошибки...
Большое спасибо! Не помню, когда в последний раз был так рад ответу на форуме. Желаю удачи:)


Часовой пояс GMT +3, время: 12:51.