Давайте посмотрим на различные настройки вашего вызова AJAX:
url:
При попытке:
url: 's.src',
вы не передаете содержимое свойства src
объекта s
; вы буквально передаёте строку "s.src"
. Но даже если вы делаете:
url: s.src,
это не сработает, потому что s
находится вне области видимости. s
был объявлен внутри IIFE ((function() {...
), и он живет только внутри него Вы не можете получить к нему доступ извне.
Вместо этого, после создания сценария s
, вы можете присвоить ему id
. Как это:
var s = document.createElement("script");
s.id = "mdWidgetScript";
Затем вы можете легко получить значение атрибута src
из вызова ajax:
$.ajax({
url: $("#mdWidgetScript").attr('src'),
Обратите внимание, что использование id
не является обязательным. Вы можете найти скрипт, который вы нашли s1
, выбрав первый элемент с тегом <script>
:
url: document.getElementsByTagName("script")[0].getAttribute("src");
// or with jQuery
url: $("script:eq(0)").attr('src');
Я просто нахожу использование id
более чистого и более пуленепробиваемого способа.
type:
Это псевдоним для method
. Вы получаете данные с сервера, а не отправляете на. Переключите POST
на GET
(или не используйте этот параметр, поскольку GET
является значением по умолчанию). Прочитайте этот вопрос о различиях.
dataType
Вы должны установить dataType
соответственно (отметьте этот вопрос ). Если URL указывает на скрипт, используйте dataType: "script",
. На самом деле, вы можете использовать $.getScript()
, который является сокращенным методом для такого вызова AJAX.
Если после правильной настройки параметров у вас все еще есть проблемы:
- Проверьте наличие ошибок в консоли.
- Убедитесь, что отправляемые данные правильно сформированы
- Прочтите это другие вопросы: