ajax action-用Ajax请求道action中执行了方法但没有显示结果怎么回事

问题描述

用Ajax请求道action中执行了方法但没有显示结果怎么回事

Ajax中
//导出方法
function exportGo(url,params,grid) {

     $.messager.confirm('提示','您正要导出此项 !<br />请确定继续?',function(r){
         if(r){
             doAjax3("", url, grid, params, "");
         }
    });
}

function doAjax3(form,url,grid,param,msg){
    $.ajax({
        url: url,
        type: 'POST',
        cache: false,
        async: false,
        contentType:"application/json",
    //  dataType : 'json',
        data:  param,
        success: function(data, textStatus, jqXHR) {
            alert(data);
            if (!isNull(grid)) {
                grid.load({page:1});
            }
            if(!isNull(form)){
                form.resetForm();
            }

        },
        error:function(msg,textStatus, errorThrown) {
            alert(errorThrown);
            alert("网络错误或者处理异常,请重试或者联系管理员处理!错误信息:" + msg.responseText);
        }
   });
}

action中
/**
* 导出model的xml文件
*/
@RequestMapping(value = "export/{modelId}")
@OperatingLog(function="导出文件")
public void export(@PathVariable("modelId") String modelId,
HttpServletResponse response) {
try {
Model modelData = repositoryService.getModel(modelId);
BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
JsonNode editorNode = new ObjectMapper().readTree(repositoryService
.getModelEditorSource(modelData.getId()));
BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode);
BpmnXMLConverter xmlConverter = new BpmnXMLConverter();
byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel);

        ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);
        IOUtils.copy(in, response.getOutputStream());
        String filename = bpmnModel.getMainProcess().getId()
                + ".bpmn20.xml";
        response.setHeader("Content-Disposition", "attachment; filename="
                + filename);
        response.flushBuffer();
    } catch (Exception e) {
        log.error("导出model的xml文件失败:modelId={}", modelId, e);
    }
}
时间: 2024-08-31 18:08:34

ajax action-用Ajax请求道action中执行了方法但没有显示结果怎么回事的相关文章

system命令-在代码中执行cmd命令如何不显示cmd

问题描述 在代码中执行cmd命令如何不显示cmd 在代码中执行system命令时,总有黑框一闪而过,怎样可以让他完全不显示 解决方案 shellexecute启动,showwindow参数设置为SW_HIDE 解决方案二: 直接执行那个命令,不要加上cmd.当然前提是那个命令本身不创建额外的控制台. 解决方案三: 如果用shellexecute执行cmd命令,的最后一个参数设置为SW_HIDE,隐藏窗口.shellexecuteex,createprocess也都可以设置 解决方案四: @ech

Lua中执行系统命令方法介绍_Lua

Lua中,os.execute可以执行dos命令,但是返回的是系统状态码,默认输出. io.popen()也可以执行dos命令,但是返回一个文件.eg: 复制代码 代码如下: local t = io.popen('svn help') local a = t:read("*all") --a返回一个字符串,内容是svn help的内容 如果想执行某命令或程序可选os.execute(),如果还想捕捉该执行结果可用io.popen() eg:复制文件 复制代码 代码如下: os.exe

ajax请求action后,数据存放在session中,jsp页面通过el获取数据,可是第一次登录总

问题描述 ssh项目中,我需要登陆某个页面(如a.jsp),通过onload来触发js函数(函数是ajax请求)请求到相应的action,处理完成后将数据存放到session对象里面,然后在a.jsp中用el表达式获取想要的数据,这是我的设计思路.可是问题来了,不知道为什么在打开浏览器第一次登录a页面时,a页面不会显示想要的数据,刷新后就有数据了,之后也正常.这是为什么了???我该如何解决这个问题了?或有什么好的办法可以实现登陆一个页面,页面上数据是从服务器端获取的,的方法吗? 解决方案 解决方

ajax的异步请求-action响应ajax请求返回json类型执行不了success

问题描述 action响应ajax请求返回json类型执行不了success 我的action能响应ajax请求,但是不知道是返回的不是json还是其他的问题,就是执行不了success,代码如下: jsp代码: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix=&quo

Struts2框架,表单请求到action出错,貌似找不到自定义action类中的方法。

问题描述 Struts2框架,表单请求到action出错,貌似找不到自定义action类中的方法. 关键代码如下: ${Msg.sendUser.username } 上面代码的意思是:把${Msg.sendUser}提交到action,赋值给 action类属性message的sendUser.(sendUser数据类型是User对象) 请求后提示找不到action中的自定义方法,但是我表单中的值换成下面 的,变成赋值给message的属性sendUser的属性username,就能成功. 是

掌握Ajax,第8部分: 在请求和响应中使用XML

Ajax 客户机/服务器通信可以很巧妙 简介:在 本系列的上一篇文章 中,您看到了 Ajax 应用程序如何以 XML 格式化发往服务器的请求. 还了解了为什么这在大多数情况下并不是一个好主意.这篇文章主要探讨在大多数情况下确实是 好主意 的一种做法:向客户机返回 XML 响应. 我其实并不喜欢写那种主要告诉您什么不应该 做的文章.很多时候,那都会是一篇非常愚蠢的文章. 我要在前半篇文章中解释某些东西,然后在后半篇文章中说明使用您刚刚才学会的那种技术是一个多么糟 糕的主意.在很大程度上,上一期文章

servlet-js中使用ajax函数做同步请求Servlet连接数据库进行验证

问题描述 js中使用ajax函数做同步请求Servlet连接数据库进行验证 这是一个js表单验证,验证email的部分,我想达到的目的是在输入email信息结束后进行验证,前两个条件直接自身进行验证,效果已经实现了,后面的那个我想用ajax的效果进行同步验证,防止email重复,但是效果一直出不来,不知道是否是ajax函数参数设置有问题什么的,或者eclipse出bug什么的,请问有人帮忙看一下的么? email输入部分代码: Email: id="email" class="

基于iframe实现ajax跨域请求 获取网页中ajax数据_AJAX相关

大家都知道,在不同域的情况下是不能发送ajax请求的,浏览器会报如下错误: 同时,内嵌的iframe中无法进行跨域通信的,也就是说不同域的iframe是无法互相读取数据的(当然利用hash变化可以从父window传入数据到子iframe,不过并没有什么意义).iframe跨域通信时,浏览器会报如下错误: 其实这两个问题都是由于跨域造成的. 下面就介绍如何解决这个问题. 其实问题的关键就在于,浏览器在解析ajax请求地址时会和当前网页的地址进行比较,如果是跨域的,那就禁止掉并且报错.那么我们如果让

页面Ajax访问action,关闭页面,action是否继续执行?

问题描述 当前情况是,页面中访问一个action,这个action其中也许会执行一大段动作,也许持续5分钟,现在比如情况,某用户在点击了这个页面调用action的按钮后1分钟,就关闭了此页面,那么,是否这个action的动作还将继续? 解决方案 Action会继续执行的,这跟页面没有关系,页面最终在用户的浏览器里面执行JS,然后通过HTTP网络协议,将数据提交到服务器,然后进入Action中执行.所以页面和Action不是调用的关系,是网络通信的关系.这和服务器关了,JS仍然可以在浏览器里运行是