-
关于ajax回调之后,返回不了相关页面问题!!!5
$(document).ready( function() { var params = "aaa"; $("#change").click( function() { $.ajax({ url:'userInfo_list.action', type:'post', dataType:'json', data:params, success:function callbackF1(data){ var info = eval("("+data+")"); for(var i=0;i<info.length;i++){ $("#user_1").val(info[i].truename); } } }); }); }); $(document).ready(function() { var params = "aaa"; $("#submit_change").click(function(){ $.ajax({ url:'userInfo_update.action', type:'post', dataType:'json', data:params, sucess:function callbackF2(data){ alert("123"); } }); }); });
以上是两个ajax 请求。
这个是我的struts2配置:
<action name="userInfo_*" class="userInfo" method="{1}"> <result name="managementIndex" type="json"> <param name="root">result</param> /WEB-INF/managementcenter/managementindex.jsp </result> </action>
这个是我的action文件:
public String update(){ JSONArray json = JSONArray.fromObject ("[{'name':'tom','sex':'男'}]"); result=json.toString(); return "managementIndex"; }
但是当我提交了之后,执行了update方法, 但是返回不了原来的页面了。。。。。
一个空白页面 只有:"[{\"name\":\"tom\",\"sex\":\"男\"}]" 一串字符串, 为什么呢????? 是我的回调函数错 了吗????? 还是struts2配置错误???? (我第一个ajax请求是完全对的 , 第二个ajax出现了这样情况)
2012年12月25日 11:11
3个答案 按时间排序 按投票排序
-
能把你的代码都贴出来吗? 这样看不出什么问题
贴自己写的一点代码供你参考一下:
jsp
<div class="datagrid-toolbar" style="height:26px;">
<a href="javascript:void(0)" class="easyui-linkbutton fl" plain="true" onclick="submitAddExpressTemplate()" iconCls="icon-ok">保存</a> <div class="datagrid-btn-separator"></div>
<a href="javascript:void(0)" class="easyui-linkbutton fl" plain="true" onclick="_doWInCloseOnLdp('expressTempWin')" iconCls="icon-no">关闭</a>
</div>
js:
/**
* 快递保存快递模板
*/
function submitAddExpressTemplate()
{
var frm = $("#defindTplForm");
/*表单使用easy-ui对字段的校验*/
if(!frm.form("validate")) return;
自己封装的ajax异步提交 封装中的代码跟你写的差不多GBL_JSON_GET(contextPath+"/pages/template/template!addTemplate.action",
$('#defindTplForm').serialize(),
function(data)
{
if (data.status == 'success')
{
_doConfirmOnLdp('温馨提示',"当前模板数据保存成功!",function(){
//跨页面方法的调用
GBL_IFRAME_CAL({cal:'reloadPrintTemplates',prms:{tplType:1,ctobj:"#print-tpl-menu"}});
setTimeout(function(){
_doWInCloseOnLdp('expressTempWin');
},200);
});
}else
$.messager.alert("温馨提示",data.values,"warning");
},function(){
console.error(obj);
console.error(param);
});
};
struts.xml:
<action name="template" class="templateAction" method="addTemplate">
<result name="success">/pages/printmodel/print-template-mg-express-add.jsp</result>
</action>
action:
/**
* 快递保存模板
*/
public String addTemplate() throws JSONException
{
try
{
// 获取当前session
TbEmployee emp = (TbEmployee) getRequest().getSession(true).getAttribute("employee");
Integer uid = emp.getEmp_id();
// 获取提交的数据
Map<String, String> pmap = this.getParamValues();
if (CUtils.isEmpty(pmap))
return this.sendRespJsonValue(ERROR, "提交的参数不完整,请重试!");
// 保存新增的自定义快递单模板数据
String ret = this.templateService.saveTemplate(uid, pmap);
if ("OK".equals(ret))
{
return this.sendRespJsonValue(SUCCESS, "OK");
} else if ("EXIST".equals(ret))
{
return this.sendRespJsonValue(ERROR, "模板已经存在");
} else
{
return this.sendRespJsonValue(ERROR, "系统异常");
}
} catch (Exception e)
{
throw new JSONException(e.getMessage(), e);
}
}
其中对json的封装:
/**
* 输出JSON数据
*
* @author:lifuyu
* @param obj
* @return
* @throws IOException
*/
protected String sendRespJsonValue(String status, Object obj) throws IOException
{
Map<String, Object> _map = new HashMap<String, Object>();
_map.put("status", status);
_map.put("values", obj);
PrintWriter out = ServletActionContext.getResponse().getWriter();
try
{
String returnStr = JSONUtil.serialize(_map);
out.print(returnStr);
out.flush();
out.close();
} catch (Exception e)
{
out.print("{status:'EXCEPTION',values:'" + e.getMessage() + "'}");
}
return NONE;
}2012年12月25日 13:42
相关推荐
NULL 博文链接:https://shoushounihao.iteye.com/blog/1776762
自己写的一个demo,利用ajax回调php返回的json数据,并实现页面的局部刷新,方便大家学习使用,
自己写的一个demo,利用ajax回调php返回的json数据,并实现页面的局部刷新,方便大家学习使用,
之前很早接触到项目,并不知道怎么优雅的去用jquery ajax(现在也不优雅); 那个时候看别人写的代码 有 $.post(“”,””,…) 也有 $.get(“”,””,…) 还有 $.ajax() 当然现在知道点,这些写法都是一个意思,还是...
onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 User Login(string name,string ...
今天小编就为大家分享一篇解决ajax请求后台,有时收不到返回值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下载。但可以用js生成一个form,用...然后在回调函数里通过创建一个iframe,
onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 // 可设定加密方式和描述信息。如下: ...
可选地,当Ajax调用返回错误时,调用另一个回调函数。 但是,该功能不能根据这些请求的结果进行多个Ajax请求和注册回调函数。 一种情况是,网页使多个Ajax请求在禁用用户交互时收集页面不同部分的数据。 该页面仅在...
onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 User Login(string name,string ...
* 回调方法 * @param a * a参数是数据,b参数是页码,c参数是请求每页条数,d参数是总页码,总页码也可以在function内this.totalPage取得 * function(a, b, c, d){ * } */ callback: function(a) { //...
callback:载入成功时回调函数。 type:返回内容格式,xml, html, script, json, text, _default。 首先建立testGet.php实例: <?php $web = $_GET['webname']; echo "你现在访问的网站是:".$web; ?> 然见建立...
//这在里边getGroups_callback指定的是个回调函数,以接受服务器端处理完后返回客户端结果。 } //这个方法用户接受并处理服务器端返回的结果。 function getGroups_callback(response) { var dt=...
Ajax的服务器端用PrintWriter out=resp.getWriter()来响应数据的时候,out.print(0)、out.print(1)来表示成功或失败,而...所以从上边两者的区别就不难发现,在页面的js代码中的设置回调函数中,是通过从服务器返回的值
$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 “text/xml”)。 实例: 保存数据到...
页面中主要有一个表单,使用了onsubmit事件,在onsubmit事件中首先获取准备post的内容,然后创建XMLHttpRequest对象,接着确定请求参数,然后重写回调函数,在函数中主要是根据请求的状态来使用服务器端返回值,然后...
AJAX=AsynchronousJavaScriptandXML(异步的JavaScript和XML)。AJAX不是新的编程语言,而是一种使用现有标准的新方法。...并通过方法中回调函数的参数返回请求的数据,它的调用格式如下:$.get("demo_test.php?id=1&
•ajax请求的页面或资源只能是同一个域下面的资源,不能是其他域的资源,这是在设计ajax时基于安全考虑。 ——————————————————————————– ajax的方法: 1. $.ajax({}): •常用参数: •url...
进度事件的自定义回调 易于使用的transport方式:向用户询问文件并上传 object , FormData或HTMLFormElement数据 安装 您可以通过NPM或Yarn安装此软件包 npm install @codexteam/ajax yarn add @codexteam/ajax 在...