/*上传点击*/ /*获取表单的值*/ 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这里了