Извлечение данных из функции AJAX для другой внешней функции - PullRequest
0 голосов
/ 11 октября 2019

Мне нужно получить новое имя файла с помощью вызова ajax, чтобы я мог использовать его в другой функции. Это исходный вызов для нового имени файла, который я пытаюсь получить из функции setup_file. Массив файла содержит все данные, которые мне нужны, включая исходное имя файла.

var newfilename = setup_file(file);

Но когда я пытаюсь вернуть нужные данные из указанной функции, это не работает.

function setup_file(file) {

var newfilename;

  var newtitle = jQuery("#choosetitle").val();
  var aspect = jQuery("#chooseaspect").val();
  var uploadlanguage = jQuery("#uploadlanguage").val();


  jQuery.ajax({
        url: '/wp-admin/admin-ajax.php',

        type : 'POST',
        async: false,
        datatype : 'JSON',
        data : {action : 'process_uploads',fileinfo: file,filetitle : newtitle, aspect : aspect, uploadlanguage : uploadlanguage},
        success : function(data){

            var json = JSON.parse(data);
            var newfilename = json['filename'];

alert(newfilename);
//this alerts fine.

  }

});

return newfilename;
//thisreturnsnothing, however if I change it to return 'Whatever'; it does return Whatever.
}

1 Ответ

1 голос
/ 11 октября 2019

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

var newfilename = json['filename'];

на

newfilename=json['filename']

в блоке успеха.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...