0 0

关于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个答案 按时间排序 按投票排序

0 0

直接return “success” ajax返回的就是本页面,你还想跳转到哪里去啊

2012年12月25日 16:53
0 0

能把你的代码都贴出来吗? 这样看不出什么问题

贴自己写的一点代码供你参考一下:
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
0 0

/WEB-INF/managementcenter/managementindex.jsp就是你说的原来页面吗?

2012年12月25日 11:22

相关推荐

    ajax返回字符串

    NULL 博文链接:https://shoushounihao.iteye.com/blog/1776762

    ajax操作json数组,实现局部刷新

    自己写的一个demo,利用ajax回调php返回的json数据,并实现页面的局部刷新,方便大家学习使用,

    ajax与php利用json传输数据,实现局部刷新

    自己写的一个demo,利用ajax回调php返回的json数据,并实现页面的局部刷新,方便大家学习使用,

    浅析jQuery Ajax请求参数和返回数据的处理

    之前很早接触到项目,并不知道怎么优雅的去用jquery ajax(现在也不优雅); 那个时候看别人写的代码 有 $.post(“”,””,…) 也有 $.get(“”,””,…) 还有 $.ajax() 当然现在知道点,这些写法都是一个意思,还是...

    CH2.Ajax 框架

    onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 User Login(string name,string ...

    解决ajax请求后台,有时收不到返回值的问题

    今天小编就为大家分享一篇解决ajax请求后台,有时收不到返回值的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    Ajax实现文件下载

    JQuery的ajax函数的返回类型只有xml、text、json、html等类型,没有“流”类型,所以我们要实现ajax下载,不能够使用相应的ajax函数进行文件下载。但可以用js生成一个form,用...然后在回调函数里通过创建一个iframe,

    CH2.AJAX —— 让你的 AJAX 实现得更优雅

    onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 // 可设定加密方式和描述信息。如下: ...

    利用JQUERY实现多个AJAX请求等待的实例

    可选地,当Ajax调用返回错误时,调用另一个回调函数。 但是,该功能不能根据这些请求的结果进行多个Ajax请求和注册回调函数。 一种情况是,网页使多个Ajax请求在禁用用户交互时收集页面不同部分的数据。 该页面仅在...

    CH2.Ajax 框架 支持加密(Base64/DES)和跨域(Jsonp)

    onfailed 为调用失败的回调函数(可选) function(errormessage) (例四) 例一: namespace CH2 { class BLL{ [AjaxMethod] // ←原有方法中添加这一属性 User Login(string name,string ...

    手机端快滑到底部时,自动加载ajax请求下一页

    * 回调方法 * @param a * a参数是数据,b参数是页码,c参数是请求每页条数,d参数是总页码,总页码也可以在function内this.totalPage取得 * function(a, b, c, d){ * } */ callback: function(a) { //...

    jQuery中通过ajax的get()函数读取页面的方法

    callback:载入成功时回调函数。 type:返回内容格式,xml, html, script, json, text, _default。 首先建立testGet.php实例: &lt;?php $web = $_GET['webname']; echo "你现在访问的网站是:".$web; ?&gt; 然见建立...

    Ajax.Dll各个版本无刷新组件

    //这在里边getGroups_callback指定的是个回调函数,以接受服务器端处理完后返回客户端结果。 } //这个方法用户接受并处理服务器端返回的结果。 function getGroups_callback(response) { var dt=...

    关于Ajax技术中servlet末尾的输出流

    Ajax的服务器端用PrintWriter out=resp.getWriter()来响应数据的时候,out.print(0)、out.print(1)来表示成功或失败,而...所以从上边两者的区别就不难发现,在页面的js代码中的设置回调函数中,是通过从服务器返回的值

    jQuery中ajax的4种常用请求方式介绍

    $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 “text/xml”)。 实例: 保存数据到...

    Ajax提交post请求案例分析

    页面中主要有一个表单,使用了onsubmit事件,在onsubmit事件中首先获取准备post的内容,然后创建XMLHttpRequest对象,接着确定请求参数,然后重写回调函数,在函数中主要是根据请求的状态来使用服务器端返回值,然后...

    原生JS与jQuery对AJAX的实现

    AJAX=AsynchronousJavaScriptandXML(异步的JavaScript和XML)。AJAX不是新的编程语言,而是一种使用现有标准的新方法。...并通过方法中回调函数的参数返回请求的数据,它的调用格式如下:$.get("demo_test.php?id=1&

    全面解析Ajax和jsonp使用总结

    •ajax请求的页面或资源只能是同一个域下面的资源,不能是其他域的资源,这是在设计ajax时基于安全考虑。 ——————————————————————————– ajax的方法: 1. $.ajax({}): •常用参数: •url...

    ajax:另一个AJAX请求助手

    进度事件的自定义回调 易于使用的transport方式:向用户询问文件并上传 object , FormData或HTMLFormElement数据 安装 您可以通过NPM或Yarn安装此软件包 npm install @codexteam/ajax yarn add @codexteam/ajax 在...

Global site tag (gtag.js) - Google Analytics