2016-03-22 24 views
0

structs.xmlファイルStrutsのAJAX 404エラー

<package name="admin" extends="struts-default" namespace="/admin"> 
<!-- Add Login Functionality --> 
<interceptors> 

<interceptor class="AdminLoginController" name="loginStack"></interceptor> 
<interceptor-stack name="loginStack"> 
    <interceptor-ref name="loginStack" /> 
</interceptor-stack> 
</interceptors> 
<action name="testing" class="BookingsController" method = "testing"> 
    <interceptor-ref name="loginStack"></interceptor-ref> 
    <interceptor-ref name="defaultStack" /> 
    <result type="stream"> 
     <param name="contentType">text/html</param> 
     <param name="inputName">inputStream</param> 
    </result> 
</action> 
</package> 

Register.jspは

function test() 
{ 
    $.ajax({ 
     type : "Get", 
     url : "testing.action", 
     success : function(response) 
     { 
      alert("Success"); 
     } 
    }); 
} 

<button class="button warning" onclick="test()" id="testApp">Testing</button> 

BookingsContoller.javaファイル

public String testing() 
{ 
    try 
    { 
     return "SUCCESS"; 
    } 
    catch(Exception e) 
    { 
     return "error"; 
    } 
} 

私はウェブ開発に新しいですファイル。私はjspからajax呼び出しをしようとしています。しかし404エラーが見つかりませんでした。参考のために私のコードスニペットを追加しました。私を助けてください。前もって感謝します。

答えて

1

あなたが最初にあなたの設定ファイルを理解する必要があり、

<result type="stream"> 
     <param name="contentType">text/html</param> 
     <param name="inputName">inputStream</param> 
    </result> 

は、応答が「text/htmlの」タイプの応答を期待しているし、パラメータinputNameはゲッターとセッターとの名前「のinputStream」によってストリーム変数を有することを意味しますそのinputStreamは、あなたが応答して送るべきものです。

データ型の「inputStream」という名前で変数を作成します。たとえば、gettersとsettersを使用してInputStreamを呼び出し、次にSUCCESSを返します。 AJAXで

、このように、エラーフィールドを置く:

$.ajax({ 
     type : "POST", 
     url : "action", 
     data : Data, 
     encode : true, 
     error : function(){ 
      what should happen on error , if ajax call itself failed to specified url. 
     } 
     }).done(function(status){ 
     what should happen after successful response 
     })