我在使用一个简单的函数时遇到了麻烦,该函数进行ajax调用以获取特定类别的链接,然后将该值放入输入中。
我的Ajax呼叫:
function GetCategoryInfo(){
var form = document.getElementById('add-info');
var formData = new FormData(form);
formData.append('caller', 'Info');
$.ajax({ url: '../inc/call.php',
enctype: 'multipart/form-data',
processData: false,
contentType: false,
cache: false,
data: formData,
type: 'POST',
success: function(output) {
console.log(output);
return output;
}
});
}
我的功能:
$('#card_category').change(function(){
$('#card_slug').val(GetCategoryInfo() + "/" + GetNameInfo());
CheckPokemonSlug();
})
请忽略函数GetNameInfo(),因为它可以很好地工作。 更改选择项发生时发生我的问题。 它总是用“未定义/来自函数GetNameInfo()的文本”填充输入
console.log输出应该以输入形式显示的正确信息是最糟糕的事情。
对此有何建议? 既然我打电话给我,这不行吗?获取信息,然后将其设置为输入。
答案 0 :(得分:1)
由于这是一个AJAX
调用,因此它是异步的,但是您的选择是同步完成的。因此,function
立即返回一个undefined
,并且仅在以后返回异步值,但是您不再侦听该值。
您可以尝试从console.log
所在的位置分配输入文本,此时,呼叫已经返回。