Javascript 从端点获取图像

Javascript 从端点获取图像,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,我正在使用ajax从服务中获取图像名称数组。 当我检查data.d时,数组就在那里。然而,我似乎无法将它分配给我的变量,因为当我提醒它时,它会说未定义 至于访问返回数组,data.d是关于什么的?为什么.d 有更好的方法吗?我将获取图像名称数组,并在程序的后面循环使用它们 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <titl

我正在使用ajax从服务中获取图像名称数组。 当我检查data.d时,数组就在那里。然而,我似乎无法将它分配给我的变量,因为当我提醒它时,它会说未定义

至于访问返回数组,
data.d
是关于什么的?为什么
.d

有更好的方法吗?我将获取图像名称数组,并在程序的后面循环使用它们

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.js"></script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server"></asp:GridView>

        </div>
    </form>
    <script>
        $(function () {
            var aryImageNames;

            $.ajax({
                type: "POST",
                url: "Default.aspx/GetImages",
                contentType: "application/json; charset=utf-8",
                data: "{}",
                success: function (data) {
                    aryImageNames = data.d;
                }
            });

            alert(aryImageNames);
        });
    </script>
</body>
</html>

$(函数(){
变量名称;
$.ajax({
类型:“POST”,
url:“Default.aspx/GetImages”,
contentType:“应用程序/json;字符集=utf-8”,
数据:“{}”,
成功:功能(数据){
aryImageNames=data.d;
}
});
警报(名称);
});

我怀疑
.d
只是端点构造方式的结果。它不是jQuery/JavaScript标准

至于为什么在警告aryImageNames时会看到
未定义的
,我怀疑这可能是由于JavaScript的异步特性造成的。换句话说,在调用
alert(aryImageNames)
之前,您的AJAX调用可能无法完成

您必须确保任何处理图像的代码在完成后都会被调用。例如,如果要提醒图像名称,则需要将其放入成功回调中,如下所示:

        $.ajax({
            type: "POST",
            url: "Default.aspx/GetImages",
            contentType: "application/json; charset=utf-8",
            data: "{}",
            success: function (data) {
                alert(data.d);
            }
        });

这确保了只有在从端点检索到结果后,警报才会出现。

但我需要稍后在success或ajax范围之外使用该数组。我该怎么做?您仍然可以将数组设置为全局变量。然后,您可以阻止使用依赖于阵列的区域,直到它被加载(使用成功回调“激活”/“显示数据加载后的区域”)。想象一下加载屏幕之类的东西?