Программно загружает файл Javascript и загружает код по завершении

#javascript #jquery #ajax #reactjs

#javascript #jquery #ajax #reactjs

Вопрос:

Я работаю в проекте React, который использует jQuery, и мне нужно импортировать в него библиотеку jQuery.

В принципе, что мне нужно прямо сейчас, так это способ динамической загрузки javascript в мой проект, и когда он завершит загрузку, мне нужно запустить код javascript.

что-то вроде этого:

 $(function(){
 loadJavascript('myscript.js',function(){
  //run this code when myscript has finished loading
  });
});
  

Комментарии:

1. И что не так с обычным тегом script?

Ответ №1:

$.getScript делает то, что вы хотите.

 $(function() {
    $.getScript('myscript.js', function() {
        // run when myscript has finished loading
    });
});
  

Ответ №2:

Вы видели RequireJS? Это довольно приятная библиотека, которая делает то, что вы хотите http://requirejs.org /

Ответ №3:

Если все остальное не удается, попробуйте это. Используя jQuery, выполните jsonp ajax с именем функции обратного вызова. Например.

 $.ajax({
    url: "http://localhost/ny-app/getJSfunction",
    jsonp: "myfunctionName",
    dataType: "jsonp",
    data: {
        q: "select title,abstract,url from search.news where query="cat"",
        format: "json"
    },
    success: function( response ) {
        console.log( response ); // server response
    }
});
  

Обработайте этот вызов на стороне сервера и верните функцию, инкапсулированную в код javascript, которая возвращает некоторые данные.
Возвращаемый javascript будет выглядеть следующим образом:

 function myfunctioname(){
     // some code
     return 'whatever you want' ;
}
  

jQuery ajax автоматически выполнит возвращенную функцию javascript.

Надеюсь, это поможет.