问题: 前端用<form>表单上传文件后,页面的跳转不能控制,浏览器会自动打开后台返回的 Json数据,前端无法捕获后台的返回数据
例如: 下面是上传文件后浏览器的自动跳转
解决办法:
后台可以直接返回Html格式的字符串,浏览器打开后会自动解析
例如 :
return "<html>" +
"<head>" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>" +
"</head>" +
"<body onload='JavaScript:alert(\"无此用户\");window.history.go(-" + num + ");return false;'>" +
"</body>" +
"</html>";
num 参数是可以有前台传过来,表示回退到之前的第几个页面,如果需要上传后保持在本页面不跳转,则 num 写为 1即可, 还有
alert(\"无此用户\");,提示信息可以修改.
如果提示信息需要传入参数设置,则是下面这种格式
return "<html>" +
"<head>" +
"<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\"/>" +
"</head>" +
"<body onload='JavaScript:alert(\"" + msg + "\");window.history.go(-" + num + ");return false;'>" +
"</body>" +
"</html>";
msg 是消息提示, num是回退页数,如果前台没能识别到这个html字符串,那多半是你的拼接有问题, ' "" '要用 '\' 转义.
当然: 如果你的上传文件是通过 ajax 来完成的,就不会遇到上面这种问题了!
如果对你有帮助,点个赞...................................................