0

ここで私のコードでは、json形式でユーザー名とパスワードを安らかなサービスのgetメソッドに送信しています。その見返りに、このメソッドは、jquery の 2 つのテキスト ボックスに表示できない json オブジェクトを返します。

ここに私のjspページがあります:

<script>
$(document).ready(function () {
     $("#btnSubmit").click(function () {
        var uname = $("#uname").val();
        var pwd = $("#pwd").val();
        authenticate(uname, pwd);
    });
});

//authenticate function to make ajax call
function authenticate(uname, pwd) {

    $.ajax
    ({
      type: 'GET',
        //the url where you want to sent the userName and password to
        url: 'REST/WebService/GetLogin',
        dataType: 'json',
        async: false,
        //json object to sent to the authentication url
        data:{'uname': uname, 'pwd': pwd },

        error:function()
        {
            alert("unsuccessfull");
        },
        success:function(server_response)
        {   
            $( '#message' ).text( server_response.message);
            $( '#lastname' ).text( server_response.lastname);
            alert("successfull");
        }

     });
}
</script>

<input type="text" id="message"></input><br/>
<input type="text" id="lastname"></input><br/>

UserName:<input type="text" name="uname" id="uname"/><br/>
Password:<input type="text" name="pwd" id="pwd"/><br/>
<input type="submit" name="btnSubmit" id="btnSubmit" value="LogIn"/>

私の安らかなgetメソッド:

   @Path("/WebService")
   public class LoginService{
@GET
@Path("/GetLogin")
@Consumes("application/json")
@Produces("application/json")


public String loginFeed(@QueryParam("uname") String uname,@QueryParam("pwd") String pwd )
{
    String feeds  = null;

    try 
    {
        ArrayList<FeedObjects> feedData = null;
        ProjectManager projectManager= new ProjectManager();
        feedData=projectManager.GetLogin(uname, pwd);

        feeds=FeedTransformer.UserFeed(feedData);
        System.out.println("inside");

     } 
    catch (Exception e)
    {
        System.out.println("error");
    }
    return feeds;

}

このフィードは json オブジェクトの形式です。

4

1 に答える 1

0

success: オプションでは、ブラウザーで組み込みの CONSOLE を使用し、次を追加する必要があります。

console.log(server_response); //this bad boy will tell you whats up

これで問題が解決しない場合は、コンソール ウィンドウの [ネットワーク] タブをチェックして、スクリプトが失敗しているかどうかを確認してください。

また、それが重要かどうかはよくわかりませんが、安全のために、常に URL のスラッシュから始めます。

url: '/REST/WebService/GetLogin',

文字列を手動で作成するのではなく、データをシリアル化してみてください:

data: $('TARGET_YOUR_FORM').serialize()
于 2013-07-24T19:44:38.890 に答える