jsp页面中的JavaScript:
<script language="JavaScript">
function validateName()
{
//请求的地址
var url = 'validateName.action';
var params = Form.Element.serialize('id');
//创建Ajax.Request对象,对应于发送请求
var myAjax = new Ajax.Request(
url,
{
//请求方式:POST
method:'post',
//请求参数
parameters:params,
//指定回调函数
onComplete: processResponse,
//是否异步发送请求
asynchronous:true
});
}
function processResponse(request)
{
alert(1);
var action = request.responseText.parseJSON();
alert(2);
$("tip").innerHTML = action.tip;
}
</script>
在执行的时候alert(1);有值
alert(2);没有反应
jsp页面中的form:
<tr align="center">
<td height="47" colspan="3"><input type="submit" value="提交" /></td>
</tr>
</s:form>
在执行的时候alert(1);有值
alert(2);没有反应这是为什么啊??
你的action结果类型是配置是为json吗,还有,打印下request.responseText看
先研究这个ajax请求有没成功发送??
转为为json对象方法:eval('('+Data+')');
[code="JavaScript"]function processResponse(request)
{
alert(1);
var action = eval('('+request.responseText+')');
alert(2);
$("tip").innerHTML = action.tip;
} [/code]
[quote]var action = request.responseText.parseJSON(); [/quote]
调这句的时候出错了,检查一下返回结果是否正确。
[code="js"]
Ext.Ajax.request({
url : yoururl,
method : 'POST',
params:{'paramName':paramValue},
success : function(response) {
//成功处理
var respText = Ext.util.JSON.decode(response.responseText);
alert("提示", resText.XXX);
// .... });
},
failure : function(response, options) {
//失败处理
// .... }
});
[/code]
[quote]function processResponse(request) [/quote]
request是不是为null啊?
检查一下你的struts.xml中validateName action的配置。如果你使用的是json。
下面配置中的[color=red]extends=extends="json-default" [/color]以及返回类型为[color=red][/color]
[code="xml"]
[/code]
另外:看看返回是什么东西?
[code="JavaScript"]function processResponse(request)
{
alert(1);
alert(request.responseText);
var action = eval('('+request.responseText+')');
alert(2);
alert(action);
$("tip").innerHTML = action.tip;
} [/code]