submit提交后,接收返回信息

随手记

 

一:

form表单请求,submit后,获取后台返回的数据:

设置隐藏的iframe:

<iframe name ="hframe" id="hframe" style=" display: none" ></iframe >

js检测iframe的加载事件,获取返回的数据

    $("#hframe").load(function(){
        var data = $(this).contents().find("body").text();      //获取到的是json的字符串
            if (data>0){
                alert("操作成功!");
                window.location.reload();
            }else if (data==-100){
                alert("尚未登陆!");
                window.location.href="index.html";
            }else
                alert("上传失败!");
    })

 

二:

form表单提交后,下载文件,需要检测文件下载完毕,然后进行某些操作

支持ie

function download() {
		var url =  "/xx/xxx/xxx?a=b";
		var xhr = new XMLHttpRequest();
		xhr.open('POST', url, true);       
		xhr.responseType = "blob";   
		xhr.onload = function () {
			// 请求完成
			if (this.status === 200) {
				var blob = this.response;
				//判断是否是IE浏览器,是的话返回true
				if (window.navigator.msSaveBlob) {
					try {
						window.navigator.msSaveBlob(blob, 'xxx.xlsx');
					} catch (e) {
						console.log(e);
					}
				} else {
					var reader = new FileReader();
					reader.readAsDataURL(blob);    
					reader.onload = function (e) {
						var a = document.createElement('a');
						a.download = 'docDeliveryMagExport.xlsx';
						a.href = e.target.result;
						$("body").append(a);    
						a.click();
						$(a).remove();
					}
				}
				//自定义请求结束的操作
			}else{
				//自定义请求结束的操作
			}
		};
		// 发送ajax请求
		xhr.send()
	}

 

 

posted @ 2020-02-10 16:41  q彩虹海q  阅读(535)  评论(0)    收藏  举报