jQuery:正确地发出同步请求

时间:2011-11-03 10:08:37

标签: jquery ajax synchronous

好的,所以我需要在执行实际的AJAX请求之前打开一个对话框(jQuery UI),这取决于用户选择的内容,继续使用AJAX请求或者什么都不做。

不幸的是,该函数似乎提前返回并完全忽略了同步请求。我做错了什么?

以下是代码:

function saveSomeStuff(value) {
    var returnvalue = this.revert;

    $("#dialog").dialog({
        draggable: false,
        buttons: {
            "OK": function() {
                $(this).dialog("close");
                returnvalue = $.ajax({
                    type: "POST",
                    url: config.someUrl,
                    async: false,
                    data : {/* some data */}
                }).responseText;
            },
            "Cancel": function() {
                $(this).dialog("close");
            }
        }
    }); 

    return returnvalue;

 }

1 个答案:

答案 0 :(得分:2)

$.ajax({
        type: "POST",
        url: config.someUrl,
        async: true,
        data : {/* some data */},
        success : function (data) { *YOUR LOGIC HERE*}
})

P.S。避免在任何地方同步请求。

相关问题