js获取action的返回值

[size=medium]今天遇到这样一个问题我需要获得一个action执行方法后的一个返回值。

先讲下大概思路,其实很简单,就是用[b][color=red]Jquery的$.post来执行ajax[/color][/b]


[b][color=indigo]jQuery.post(url,[data],[callback],[type])

url:执行的action的url

[data]:传递过去的参数,假如在表单中,可以使用$("form").serialize()把form中的参数全部提交

[callback]:回调函数,这个用来获取返回值,并把返回值当做参数。例如function(responseText){}

type:可以规定返回的类型,可以返回html,text,xml,json等[/color][/b]



我讲一下具体的解决办法,[/size]


Action:

public ActionForward doGetEditConsumeCount(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {

String orgIdStr = request.getParameter("orgId");
int orgId = Integer.parseInt(orgIdStr);


MasOrgInfo organ = organService.getOrganById(orgId);


String consumeType = request.getParameter("consumeType"); //消费类型
String consumeDateStart = request.getParameter("consumeDateStart"); //消费日期起始
String consumeDateEnd = request.getParameter("consumeDateEnd"); //消费日期截止

String prStart = request.getParameter("priceStart"); //实际价格原始价格
Float priceStart = null;
if (!prStart.equals("")) {
priceStart = Float.parseFloat(prStart);
}

String prEnd = request.getParameter("priceEnd"); //实际价格新价格
Float priceEnd = null;
if (!prEnd.equals("")) {
priceEnd = Float.parseFloat(prEnd);
}
String type = request.getParameter("type"); //专业类型
String packageName = request.getParameter("packageName"); //专业或包
String combo = request.getParameter("combo"); //套餐


Integer comsumeNum=organService.getUpdateConsumeNum(orgId, type, packageName, combo, consumeType, consumeDateStart, consumeDateEnd, priceStart);
Long peopleNum=organService.getUpdateConsumePeopleNum(orgId, type, packageName, combo, consumeType, consumeDateStart, consumeDateEnd, priceStart);

String strNum="\n 即将修改"+comsumeNum+"条记录,共计"+peopleNum+"个账号";
response.setContentType("text/xml;charset=utf-8"); //更改字符编码
response.getWriter().println(strNum); //这句话是把结果返回(这个是关键)

return mapping.findForward(""); //这里返回空就好
}



jsp页面的js代码如下:

function update() {
if($('#type').val()!=null&&$('#type').val){
$.post("${basepath}/organ.do?o=doGetEditConsumeCount&orgId=${organ.id}&pageNum=1", $("form").serialize(),
//这里的resonseText就是action中的strNum了,这个名字可以随便起的


function(responseText){

var msg = responseText+"\n您真的确定要批量修改吗?\n\n请确认!";
if (confirm(msg)==true){
theform.action = "${basepath}/organ.do?o=doEditLotConsumes&orgId=${organ.id}";
theform.submit();
return true;
}else{
return false;
}
}
, "text");
}else{
alert("提示:请将原始价格填入“实际单价起始价格框”,新价格填入“实际单价截止价格框”");
}
}



上面的代码我其实是在回调函数里面又写了一些东西,其实可以简化为这个样子

$.post("${basepath}/organ.do?o=doGetEditConsumeCount&orgId=${organ.id}&pageNum=1", $("form").serialize(),function(responseText){alert(responseText)},"text");
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Element Plus中,上传图片并获取后端返回值通常涉及使用组件`el-upload`以及与后端API的交互。以下是一个简单的步骤概述: 1. 引入依赖:首先,在你的Vue项目中安装Element Plus的`el-upload`组件,如果还没有安装,可以使用npm或yarn进行安装: ```bash npm install element-plus uploadjs axios (可选,用于发送HTTP请求) # 或者 yarn add element-plus uploadjs axios ``` 2. 组件配置:在你的Vue组件中,设置`el-upload`组件,包括选择文件、上传处理和接收后端响应: ```html <template> <el-upload :action="uploadUrl" :on-change="handleChange" :on-success="handleSuccess" :on-error="handleError" :auto-upload="false" > <el-button slot="trigger">选取文件</el-button> <p slot="tip" v-if="fileList.length">已选择{{ fileList.length }}张图片</p> </el-upload> </template> <script> import { ElUpload, Upload } from "element-plus"; import axios from "axios"; export default { components: { ElUpload, }, data() { return { uploadUrl: "your-backend-api-url", // 替换为你的后端图片上传接口地址 fileList: [], }; }, methods: { handleChange(file) { this.fileList.push(file); }, handleSuccess(response, file) { // response是你从后端接收到的数据,可能是图片URL或者一个包含信息的对象 console.log("上传成功", response); // 在这里处理后端返回值,并根据需要更新状态或做其他操作 }, handleError(error, file) { console.error("上传失败", error); // 处理上传错误 }, }, }; </script> ``` - `onChange`事件触发时,文件会被添加到`fileList`数组中。 - `onSuccess`事件会在上传成功后被调用,你可以在这里处理后端返回的响应数据,例如将图片URL赋值给组件状态。 - `onError`事件则处理上传失败的情况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值