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

相关推荐

    jquery AJAX 回调函数取JSON成功代码

    以下是一个简单的jQuery AJAX回调函数获取JSON数据的示例代码: ```javascript $.ajax({ url: 'your_data_endpoint.json', // 这应替换为实际的JSON数据源URL type: 'GET', dataType: 'json', success: ...

    js写AJAX 异步调用 -实现回调

    在JavaScript中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。本文将深入讲解如何使用纯JavaScript编写AJAX异步调用,并...

    ajax返回字符串

    3. **回调函数**:处理返回的字符串通常在success回调函数中进行,我们可以在这里对数据进行解析、操作或者更新DOM元素。 三、示例代码 ```javascript var xhr = new XMLHttpRequest(); xhr.onreadystatechange = ...

    解决ajax回调函数返回的字符串乱码问题

    为了解决AJAX回调函数返回的字符串乱码问题,开发者可以在服务器端设置响应内容类型和字符编码,以确保数据的正确传输和解析。根据提供的文件内容,这里涉及到一个关键的操作步骤: 1. 在服务器端,无论是使用...

    jQuery Ajax向某个页面传值并取得返回的数组

    服务器端代码完成后,当客户端通过Ajax请求该页面时,服务器会返回一个JSON格式的数组,然后在`success`回调中解析并处理这个数组。 总的来说,jQuery的Ajax功能使得前端和后端之间的数据交互变得简单而高效,特别...

    jQuery Ajax Post 回调函数不执行问题的解决方法

    在使用jQuery进行Ajax异步请求时,回调函数不执行是一个常见的问题,特别是在使用`$.post()`或`$.ajax()`函数时。本文将深入探讨jQuery `Ajax Post`回调函数不执行的原因,并提供相应的解决方法,同时也会分析`ajax ...

    asp.net 页面回调 讲解 例子

    ASP.NET 页面回调是一种技术,它允许网页的部分内容在不重新加载整个页面的情况下进行更新,类似于JavaScript的Ajax(异步JavaScript和XML)技术。这一特性提高了Web应用的用户体验,因为用户无需等待整个页面重载,...

    采用HttpModule技术进行以Ajax 方式的客户端回调处理类库源代码

    使用HttpModule处理Ajax回调的应用场景广泛,例如实时数据更新、动态内容加载、表单验证、用户交互反馈等。在高交互性和实时性要求高的Web应用中,这种技术尤为关键。 7. **学习和使用** 对于想要深入学习...

    ajax跨域问题!

    在服务器端,我们需要根据客户端提供的回调函数名称,返回一个可执行的JavaScript代码段,形如:`success_jsonpCallback({"openid":"f0eeeb7916da38b8","access_token":"3f742cac0bfcd209d327ad8e8fe86468","pid":2}...

    解决使用ajaxFileUpload上传控件出现的问题:回调函数总是进入error或success

    然而,在实际应用中,开发者可能会遇到一些问题,如回调函数总是进入error或success状态,这通常与错误处理、请求状态、服务器响应以及代码实现有关。 首先,我们来详细了解一下`ajaxFileUpload`。这是一个基于...

    Jquery版本导致Ajax不执行success回调函数

    本篇文章将深入探讨一个特定的问题——"Jquery版本导致Ajax不执行success回调函数"。 首先,让我们理解Ajax的核心概念。Ajax,全称Asynchronous JavaScript and XML,是一种创建动态网页的技术,允许在不重新加载...

    详谈ajax返回数据成功 却进入error的方法

    在这篇文章中,我们来讨论一个在使用AJAX技术进行前后端数据交互过程中非常常见的问题:即使数据成功返回,AJAX调用却错误地进入了error回调函数。在深入分析问题原因之前,作者首先提供了一个可能的解决方案:在...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    3. 在前端处理返回的JSON数据:在$.ajax()方法的success回调函数中,返回的数据会被处理。这里使用了eval()函数来转换字符串形式的JSON数据为JavaScript对象。然而,在实际开发中,出于安全考虑,不建议使用eval()...

    Ajax定时刷新局部页面

    5. **处理响应**:在回调函数中处理服务器返回的数据,并更新页面的相应部分。 #### 四、示例代码分析 下面是对给定示例代码的详细分析: ```html ('getSystemTime.jsp')"&gt; ``` 这段 HTML 代码指定了页面加载...

    asp.net 2.0使用ajax实现客户端回调功能详解

    客户端回调(Client Callback)是ASP.NET AJAX框架中的一个重要特性,它允许客户端在不进行页面刷新的情况下向服务器发起请求,并处理服务器返回的数据。这一过程主要通过JavaScript调用服务器端的代码实现,而无需...

    Asp.net回调函数

    下面是一个简单的Asp.NET AJAX回调函数的代码示例: ```csharp //服务器端代码(C#) [WebMethod] public static string ServerMethod(string input) { // 这里处理业务逻辑 string result = "服务器处理后的结果...

    Ajax页面载入等待特效

    5. **回调函数**:定义回调函数来处理服务器返回的数据,可以是成功时的处理逻辑,也可以是错误时的提示。 在本项目中,"演示页面"展示了如何在实际应用中使用这些特效,"调用页面"则提供了具体的JavaScript代码...

    ajax实现页面内部模块更新

    4. **客户端处理响应**:Ajax请求成功后,客户端的回调函数接收到服务器返回的数据,解析后更新页面内容。 ### 四、进阶技术 1. **jQuery AJAX**:jQuery库提供了一个简洁的API来处理Ajax请求,简化了跨浏览器兼容...

    关于Ajax的Timer应用,显示当前时间变化,页面不刷新

    如果使用jQuery,可以更方便地操作DOM元素并处理回调函数。 5. **效果图**: 提供的效果图应展示了在不刷新页面的情况下,时间在页面的特定位置(如一个标题或标签内)动态变化。这种实时更新的视觉效果提升了网站...

    ASP.NET 2.0客户端回调实例代码

    在ASP.NET 2.0中,微软引入了Partial Page Rendering(部分页面渲染)和UpdatePanel(更新面板)来支持客户端回调,从而实现了AJAX(Asynchronous JavaScript and XML)的效果。 首先,我们来看ASP.NET 2.0客户端回...

Global site tag (gtag.js) - Google Analytics