在jquery中打印json对象值

时间:2013-07-24 19:28:56

标签: jquery json web-services rest

在我的代码中,我以json格式向restful service get方法提交用户名和密码。作为回报,此方法返回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"/>

我的宁静获取方法:

   @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;

}

此Feed以json对象的形式出现。

1 个答案:

答案 0 :(得分:0)

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

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

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

此外,我不太清楚它是否重要,但我总是从URL中的斜线开始,只是为了安全:

url: '/REST/WebService/GetLogin',

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

data: $('TARGET_YOUR_FORM').serialize()