1 prototype.js中封装了ajax的技术。在引用了prototype.js后。如果想要ajax技术。只需要直接使用new Ajax.Request(url,{method:'',parameters:参数,onComplete: 函数 })
如:var url="./main!list";
var param="name=xcl&password=123";
var myAjax=new Ajax.Request(
url,{method:'post',parameters:param,onComplete:success}
);
解析:
url为路径。需要访问的路径地址。
method为所用的方法。为post或get。
parameters为url后所需的参数。
onComplete为当完成返回值时的回调函数,该函数的形参为XMLHttpRequest。
2 如果通过prototype.js中的ajax技术,当成功返回时会调用回调函数。改回调函数的形参为XMLHttpRequest。如果想要得到返回值,则可以通过responseText来得到返回值。
如:function success(result_s){
var result_=eval("("+result_s.responseText+")");
alert(result_.name_result);
document.getElementById("result_value").value=result_.password_result;
}
3 后台的函数,类似于正常的ajax调用后台的servlet一样,返回的值通过response.getWriter().print()来返回即可
如:public String list(){
HttpServletRequest request=MConstants.getRequest();
HttpServletResponse response=MConstants.getResponse();
String name_value=request.getParameter("name");
String password_value=request.getParameter("password");
System.out.println("得到前台的数据name: "+name_value+",password:"+password_value);
JSONObject json=new JSONObject();
json.element("name_result",name_value);
json.element("password_result",password_value);
try {
response.getWriter().print(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
4 配置文件中不需要配置result标签,只需要配置main的路径即可。因为ajax返回的还是当前界面,而且后台函数返回的是null。
如:
<action name="main" class="userAction" >
</action>
如:var url="./main!list";
var param="name=xcl&password=123";
var myAjax=new Ajax.Request(
url,{method:'post',parameters:param,onComplete:success}
);
解析:
url为路径。需要访问的路径地址。
method为所用的方法。为post或get。
parameters为url后所需的参数。
onComplete为当完成返回值时的回调函数,该函数的形参为XMLHttpRequest。
2 如果通过prototype.js中的ajax技术,当成功返回时会调用回调函数。改回调函数的形参为XMLHttpRequest。如果想要得到返回值,则可以通过responseText来得到返回值。
如:function success(result_s){
var result_=eval("("+result_s.responseText+")");
alert(result_.name_result);
document.getElementById("result_value").value=result_.password_result;
}
3 后台的函数,类似于正常的ajax调用后台的servlet一样,返回的值通过response.getWriter().print()来返回即可
如:public String list(){
HttpServletRequest request=MConstants.getRequest();
HttpServletResponse response=MConstants.getResponse();
String name_value=request.getParameter("name");
String password_value=request.getParameter("password");
System.out.println("得到前台的数据name: "+name_value+",password:"+password_value);
JSONObject json=new JSONObject();
json.element("name_result",name_value);
json.element("password_result",password_value);
try {
response.getWriter().print(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
4 配置文件中不需要配置result标签,只需要配置main的路径即可。因为ajax返回的还是当前界面,而且后台函数返回的是null。
如:
<action name="main" class="userAction" >
</action>