如何在ajax调用之外循环ajax响应

时间:2017-03-23 08:06:01

标签: jquery ajax

我正在尝试使用来自ajax调用的响应来循环遍历ajax调用之外的响应。 在我的代码中,我只看到它自己的对象,它开始循环描述对象而不是它的内容。 如何阻止它后来刷新页面?

$(document).ready(function() {
    var jsonResult;
    $.ajax({
        type: 'GET',
        url: 'http://example.com/test.json',
        data: {
            get_param: 'value'
        },
        dataType: "json",
        success: function(data) {
            jsonResult = data;
        }
    });
    $("#form").submit(function(jsonResult) {
        var userAnswer = $("#useranswer").val();
        for (var key in jsonResult) {
            if (jsonResult[key] === userAnswer) {
                $("#confirmed").html("Yes");
                break;
            } else {
                $("#confirmed").html("No");
            }
        }
        return false;
    });
});

1 个答案:

答案 0 :(得分:0)

最简单的快捷方式是在ajax属性中放置async = false

这里的问题是在ajax调用完成之前初始化了jsonresult

同步调用是快捷方式,但根本没有推荐,它会阻止所有其他对服务器的调用,你也可以尝试回调函数