如何在Struts2中获得Ajax响应
我已经提到了这个链接,但我不能 您好,使用ajax进行操作调用。 这是我的密码如何在Struts2中获得Ajax响应,ajax,jsp,struts2,Ajax,Jsp,Struts2,我已经提到了这个链接,但我不能 您好,使用ajax进行操作调用。 这是我的密码 $.ajax({ type:'POST', dataType:'json', url:'ajaxAction?ajax_docno='+entry1+'-'+entry2+'-'+entry3+'-'+entry4, success:function(data,textStatus,jqXHR)
$.ajax({
type:'POST',
dataType:'json',
url:'ajaxAction?ajax_docno='+entry1+'-'+entry2+'-'+entry3+'-'+entry4,
success:function(data,textStatus,jqXHR)
{
if(jqXHR.status==200)
alert("success");
}
if(jqXHR.status==500)
{
alert("Fail");
}
}
}
);
MY STRUTS.XML
<action name="ajaxAction" class="com.AjaxActionClass" method="checkExistence" >
<result name="success" type="httpheader">
<param name="status" >200</param>
</result>
<result name="fail" type="httpheader">
<param name="status" >500</param>
</result>
</action>
这很好用
在我的action类中,我检查数据库中是否存在数据,并将一些值返回给jSP以显示消息
我的问题是,如果数据不在数据库中,如何将变量传递给jsp,以便向用户显示一些警报消息 有三种方法:
您可以发送JSP或JSON,也可以只发送状态代码
JSP
$.ajax({
...
success:function(data){
alert(data); //In case of JSP
}
<action name="myaction" class="actions.MyAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
$.ajax({
...
成功:功能(数据){
警报(数据);//如果是JSP
}
)谢谢您的回复,我不知道您的答案有什么问题,但我现在可以使用以下代码来完成
$.ajax({
type:'POST',
dataType:'json',
url:'ajaxAction?ajax_docno='+entry1+'-'+entry2+'-'+entry3+'-'+entry4,
statusCode:{500:function(){alert("The document number is alredy Exist");},
200:function(){alert("Good Work !! You can proceed.");} }
}
);
我需要为该sataus
param创建任何getter和setter吗?我已经尝试了第三种情况。但我现在不想发布我的全部代码。我不知道你的答案中有什么错误,我可以使用以下代码statusCode:{500:function(){alredy Exist(“文档号总是存在”);},200:function(){alert(“干得好!!你可以继续。”);}
@looser你的答案只是jquery Ajax的另一个变体。无论如何,我很高兴你解决了它。@looser:“+1感谢你的贡献”。我看不到+1。@looser+1
意味着向上投票。
$.ajax({
...
success:function(data){
var json=eval(data); //Untested, but should give an idea - JSON
alert(json.message);
}
<action name="myaction" class="actions.MyAction">
<result name="success" type="json"/>
<result name="error" type="json"/>
</action> <!-- for JSON result, don't forget to extend json-default in the package-->
$.ajax({
...
success:function(data,textStatus,jqXHR){
if(jqXHR.status==200){
alert('success');
}else if(jqXHR.status==201){
alert('failure');
}
}
<action name="myaction" class="actions.MyAction">
<result name="success" type="httpheader">
<param name="status">200</param>
</result>
<result name="error" type="httpheader">
<param name="status">201</param>
</result>
</action>
$.ajax({
type:'POST',
dataType:'json',
url:'ajaxAction?ajax_docno='+entry1+'-'+entry2+'-'+entry3+'-'+entry4,
statusCode:{500:function(){alert("The document number is alredy Exist");},
200:function(){alert("Good Work !! You can proceed.");} }
}
);