我已提到此链接Ajax action calling但我无法做到 您好使用ajax进行动作调用。 这是我的代码。
$.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>
在“我的行动”课程中
public String checkExistence()
{
//DB checkup
if exists return success;
if not exists return fail;
}
这很好用
在我的动作类中,我正在检查DB中的数据是否存在,并将一些值返回给jSP以显示消息。
我的问题是如果Data不在DB中,如何将变量传递给jsp以向USER显示一些alert
消息。
答案 0 :(得分:2)
有三种方式:
您可以发送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>
<强> JSON 强>
$.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>
(Jquery Ajax文档)(http://api.jquery.com/jQuery.ajax/)
答案 1 :(得分:1)
感谢您的回复我的答案没有错,但我现在能够使用以下代码
$.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.");} }
}
);