在成功函数外部访问jquery变量会抛出null

时间:2014-01-06 09:12:03

标签: jquery ajax

我在论坛上研究了这个问题,但是在技术人员给出的答案中应用代码却无法成功。我试图访问jquery成功函数内的变量。它抛出null,因为它在初始化时被赋值为null。如何在ajax调用中访问数据值?我的Stringified结果在json字符串中显示“/”斜杠。如何在代码中删除斜杠。我尝试使用正则表达式,替换/引号但没有用。请建议。

var details=null;

        $.ajax({
            type: "GET",
            url: "/Default/GetDetails",
            contentType: 'application/json; charset=utf-8',
            dataType: 'json',
            success: function (data) {
                details = JSON.stringify(data);            
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.statusText);
            }
        });
    alert(details)

2 个答案:

答案 0 :(得分:2)

正常执行将不等待ajax块完成执行。 因此,在ajax分配结果之前,即使也会提醒详细信息的值。 这就是为什么警报显示为null的原因。

如果你想提醒细节的结果你可以在ajax调用中调用它。

答案 1 :(得分:-4)

尝试在你的ajax调用中添加更多选项

async:false