ajax - 从 AJAX 函数中为另一个外部函数检索数据
问题描述
我需要使用 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.
}
解决方案
您在成功块中再次创建了相同的变量,这导致外部变量为空。更改
var newfilename = json['filename'];
至
newfilename=json['filename']
在成功块中。
推荐阅读
- c# - 如何使用适用于 Windows 10、8 的 C# windows form 应用程序配置 ad hoc 网络
- python - 如何从函数返回集合
- discord.js - 如何让我的机器人忽略角色被忽略的人?
- python - 代码在编辑器上运行良好,但在 Code Wars 中出现 EOF 错误
- r - R Studio ScriptRunConfig 中的 Azure-ML-R SDK 在已弃用的估算器替换后无法识别函数错误
- node.js - 如何开始构建跨平台应用程序?
- oracle - 在 Oracle 的区间范围分区上创建索引
- javascript - 在 Vue 中调用“this”会返回 Window
- excel - 为新项目设置自动添加里程碑
- reactjs - 类型定义似乎在 react-hook-form 7 中不起作用