jquery延迟对象回调未触发

时间:2015-01-12 15:50:59

标签: javascript jquery ajax jquery-deferred

我有以下代码

function get_hash(){
    id = $('#file_id').val()
    deferred =  $.ajax({ url: "/rest/hash_upload/", type: "GET", data: {file_id: id} })
    $.when(deferred).then(function(data){
        alert('executing')
        $('#input_md5_checksum').val(data)
    })
}

调用ajax,我的后端按预期返回哈希值。但是,延迟回调方法不会触发。谁能看到我做错了什么?

感谢。

1 个答案:

答案 0 :(得分:1)

为什么将查询设置为变量然后使用when(),为什么不使用常规的ajax调用?

        $.ajax({ 
            url: "/rest/hash_upload/", 
            type: "GET", 
            data: {file_id: id} 
        }).done(function(data){
            alert('executing');
            $('#input_md5_checksum').val(data);
        }).fail(function(xhr, status, error){
            return ("Ajax failed: " + xhr.responseText);
        });