微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – AJAX:XMLHttpRequest中的beforeSend函数的等价函数是什么

在$.ajax中有beforeSend函数,但现在我正在尝试使用XMLHttpRequest,我正在寻找$.ajax中的beforeSend的等效函数.我怎么能在这里实现它.

这是我的xhr代码,

xhr = new XMLHttpRequest();
    var url = '../ajax/ajax_edit/update_ajax_staffUser.PHP';

    if(file.files.length !== 0){

        if(!check(fileUpload.type)){
            alert("This file format not accepted");
            return false;
        }
        xhr.open('post', url+param, true);
        xhr.setRequestHeader('Content-Type','multipart/form-data');
        xhr.setRequestHeader('X-File-Name', fileUpload.name);
        xhr.setRequestHeader('X-File-Size', fileUpload.size);
        xhr.setRequestHeader('X-File-Type', fileUpload.type);
        xhr.send(fileUpload);
    }else{
        xhr.open('post', url+param, true);
        xhr.setRequestHeader('Content-Type','multipart/form-data');
        xhr.send(fileUpload);
    }


    xhr.onreadystatechange = function(e){
        if(xhr.readyState===4){
            if(xhr.status==200){
                $('.bounce_dim').show();
                setTimeout(function(){
                    $('.trigger_danger_alert_changable_success').show().delay(5000).fadeOut();
                    $('#palitan_ng_text_success').html('User successfully modified');
                    $('#frm_edit_staffUser')[0].reset();
                    $('#modal_staff').modal('hide');
                    $('.bounce_dim').hide();
                },1000);
                getUserStaffTable();
            }
        }
    }

由于用户正在将图像上传到我的网站,因此我需要在触发呼叫之前建立等待界面,因为图像尺寸太大.

解决方法:

您可以通过在XHR实例化之前放置beforeSend()函数来完成此操作,如下所示:

beforeSend();
xhr = new XMLHttpRequest();

但是你应该在上面的代码之前定义你的beforeSend()函数

var beforeSend = function(){
    // your code here
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐