AJAX上传图片同时上传数据

/*上传点击*/
/*获取表单的值*/
window.add_goods.onsubmit=function () {
    var msg=[];
    if(is_null($('#uploading-file').val()) =="" ||is_null($('#goods-names').val()) =="" ||is_null($('#goods_price').val()) =="" ) {
        alert('请完善信息');
        return false;
    }
    var fd = new FormData(this);
    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4){
            msg = eval("("+xhr.responseText+")");
            if(msg.code == 200){
                // alert('上传成功')
                $('.add-goods-wrapper').addClass('displayNone');
                $('.push-goods-wrapper').removeClass('displayNone');
                data={
                    datas:msg.datas[0]
                }
            $('.push-goods-wrapper').html(template('show_tf_goods',data))
            }else{
                alert('商品上传失败!');
            }
        }
    };
    xhr.open('post','/phone/phone.php?r=Live/admin_add_goods');
    xhr.send(fd);
    return false;

}
 
 

试过多种方式,发现只有FormData这个好用。就是直接把表单的所有数据放在这里然后传过去后台就可以了。

注意,一定只能使用原生的AJAX。使用window.add_goods.onsubmit=function () {  , add_goods为表单的名字。使用这个,就可以var fd = new FormData(this); 直接把所有数据都放进去formdata这里了


猜你喜欢

转载自blog.csdn.net/qq284944970/article/details/80249386
今日推荐