jQuery.getScript: переменная данных в неопределенном обратном вызове

Необходимо посмотреть на Программирование на C++ статьи / Преобразование типа .

Это содержит хорошее описание всех различных типов броска. Следующее взято из вышеупомянутой ссылки:

(выражение) const_cast

const_cast const_cast<> () используется для добавления/удаления константы (мыс) (или энергозависимый) переменной.

(выражение) static_cast

static_cast static_cast<> () используется для кастинга между целыми типами. 'например', символ-> долго, интервал-> короткий и т.д.

Статический бросок также используется для кастинга указателей на связанные типы, например, бросая пусто* к соответствующему типу.

dynamic_cast

Динамический бросок используется для преобразования указателей и ссылок во времени выполнения, обычно в целях выбрасывания указателя или ссылки или вниз цепочки наследования (иерархия наследования).

dynamic_cast (выражение)

целевой тип должен быть типом указателя или ссылочным типом, и выражение должно оценить к указателю или ссылке. Динамические работы броска только, когда тип объекта, к которому относится выражение, совместим с целевым типом и базовым классом, имеют по крайней мере одну виртуальную функцию членства. В противном случае и тип бросаемого выражения является указателем, ПУСТОЙ УКАЗАТЕЛЬ возвращается, если динамический состав исполнителей на ссылке перестал работать, bad_cast исключение выдается. Когда это не перестало работать, динамический состав исполнителей возвращает указатель или ссылку целевого типа к объекту к который отнесенное выражение.

reinterpret_cast

Дает иное толкование броску, просто бросает один тип поразрядно другому. Любой тип указателя или целочисленный тип могут быть литыми любому другому с, дают иное толкование броску, легко допуская неправильное употребление. Например, с дают иное толкование, бросает, можно было бы, небезопасно, бросить целочисленный указатель на указатель строки.

5
задан Sarjan Desai 14 October 2015 в 12:35
поделиться

4 ответа

Да, скрипт загружается, но, как ни странно, переменная данных не определена. Но я попытался получить доступ к переменной (RecaptchaStr_en) из сценария с удаленного сайта, и она определена.

$.getScript("http://api.recaptcha.net/js/recaptcha_ajax.js", function(data) {
        window.alert(data);
        alert($(RecaptchaStr_en));
    });
1
ответ дан 14 December 2019 в 19:22
поделиться

Если вы посмотрите на исходный код getScript (строка 3338 в jQuery-1.3.2.js ), вы увидите, что здесь документация неверна. Параметр data предназначен для отправки данных на сервер в строке запроса, которая, как предполагает jQuery, вам не понадобится для загрузки скриптов; он используется, например, в getJSON. getScript просто жестко кодирует данные в null и автоматически оценивает полученный скрипт за вас.

Плохая новость в том, что документация неверна. Хорошей новостью является то, что вы, вероятно, все равно просто хотели оценить сценарий, поэтому вам, вероятно, даже не нужен обратный вызов.

3
ответ дан 14 December 2019 в 19:22
поделиться

Просто загрузите свои скрипты с относительными путями, например /Script/MyScript.js кроме http://mywebsite.com/Script/MyScript.js

Для C Pirate нет ничего плохого в документации, которая работает, как ожидалось. XMLHttpRequest не разрешает междоменные запросы и кажется, что параметр данных не определен, даже если вы поместите весь путь в свой домен.

1
ответ дан 14 December 2019 в 19:22
поделиться

Когда вы определяете dataType как script, запрос выполняется не с помощью XMLHttpRequest, а с помощью тега, поэтому объекты data и success в обратном вызове недоступны.

0
ответ дан 14 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: