.net mvc输出js脚本的问题
一直以来都以为是return JavaScript(“alert('aaaaa');”)
但是效果却不是在页面上弹出alert对话框
在chrome下 是打开新页面 页面内容为alert('aaaa') 也就是说在chrome下 和return Content()效果一样
在IE下 是下载包含脚本的文件
现在业务场景是这样的:用户点下载链接,服务器判断有文件则返回File() 否则提示信息
mvc中可能可以使用HttpContext.Response.Output.Write()输出脚本 但是要有ActionResult类型返回值 return Content就转向了
ajax请求可以将返回的错误信息弹出来 但是如果后台判断有文件就要下载 ajax默认无法接收流吧
我上网搜了下ajax文件下载 有解决办法 现在只能试试ajax请求了
如果.net mvc的return Javascript 能实现它应有的功能的话 一切将多么简单
------解决方案--------------------你应该在点击下载的时候,先去服务器查询是否下载的文件存在,如果存在再去指向下载文件的control
$("#download").click(function(){
//判断是否存在
$.get("Home/checkFileIsExist",null,function(data){
if(存在)
window.location.href='Home/download';
else
alert('下载失败');
})
});