在我的代码中,我以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对象的形式出现。
答案 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()