0

在我的代码中,我将 json 格式的用户名和密码提交给 restful 服务获取方法。作为回报,此方法返回 json 对象,我无法在 jquery 的两个文本框中显示该对象。

这是我的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

在成功:选项中,您应该在浏览器中使用内置的 CONSOLE 并添加以下内容:

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

如果这不能让您到达任何地方,那么还要检查控制台窗口中的 NETWORK 选项卡,以查看脚本是否失败。

另外,我不太清楚这是否重要,但为了安全起见,我总是在 URL 中以斜杠开头:

url: '/REST/WebService/GetLogin',

尝试序列化数据而不是手动创建字符串:

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