gpt4 book ai didi

javascript - 返回 Ajax 请求之外的字符串

转载 作者:行者123 更新时间:2023-12-02 20:33:02 24 4
gpt4 key购买 nike

我对此还很陌生,所以请放轻松:

我正在构建一个图像库,其中包含一个主索引页面,允许用户选择不同类别的项目,一个子索引页面,允许用户在所选类别中选择特定项目,然后是该项目的图库页面。

下面的代码用于主索引页面。我正在尝试将第一个图库页面的第一个图像的 src 属性的值传递到主索引页面以用作缩略图。

我实际上已经能够将正确的 URL 加载到 imageLoc 变量中,但我需要将其传递到 Ajax 请求之外才能将其传递到我的 HTML 文档中。

简单地说,我试图将 imageURL 变量的值传递给 imageLoc 变量。

感谢您的帮助。

    $('.galleryIndex a img').hide().each(function(){
var destination = $(this).parent('a').attr('href');

var imageLoc = $.ajax({
url: destination,
success: function(data){
var pageLoc = $(data).find('.galleryList a:first').attr('href');
$.ajax({
url: pageLoc,
success: function(data){
var imageURL = $(data).find('.galleryBox img:first').attr('src');
return imageURL
}
});
}
});

alert(imageLoc);

});

最佳答案

这会给回调函数的处理方式带来麻烦。它是一个在请求返回后调用的闭包 block ,因此它与函数中的主代码分开运行。如果你想提醒 imageURL 变量,请在回调函数中提醒它,或者调用另一个函数来处理它。由于它是异步服务器请求的回调函数,因此在您返回异步请求之前,警告“imageLoc”的部分将已经运行很长时间。

编辑:实现您想要做的事情的唯一方法是不异步发出ajax请求。如果您设置async:false,那么您可以像这样调用“responseText”属性:

var html = $.ajax({
url: "some.php",
async: false
}).responseText;

但请注意...这将在请求挂起时停止浏览器操作。如果您不希望用户在加载某些内容时破坏页面,通常最好通过其他方式阻止用户交互。

关于javascript - 返回 Ajax 请求之外的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3771310/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com