2014-09-23 2 views
1

Я пытаюсь простые рули. Изначально я пытался со статическим Javascript объекта массива данных рулей, он работает нормально. Так что я попытался с Javascript массива объекта как JSON строки из Java RestURL (чтобы данные Рули динамический) и составление рули. Где я получаю данные из RestURL с помощью AJAX вызова и даже шаблон также строит из handlebars.The реальной проблемой, когда функция шаблон называется, он не генерирует данные ответа с шаблоном. Ниже HTML код: Handlebars.js не работает с AJAX JSON ответ

<html> 
 
<head> 
 
<title>Handlebars.js Demo</title> 
 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"> </script> 
 
<script src="js/handlebars.js"> </script> 
 
<script id="some-template" type="text/x-handlebars-template"> 
 
<table> 
 
<thead> 
 
<th>id</th> 
 
<th>username</th> 
 
<th>password</th>  
 
</thead> 
 
<tbody> 
 
{{#Users}} 
 
<tr> 
 
<td>{{id}}</td> 
 
<td>{{username}}</td> 
 
<td>{{password}}</td>   
 
</tr> 
 
{{/Users}} 
 
</tbody> 
 
</table> 
 
</script> 
 
</head> 
 
<body> 
 
<div id="content"></div> 
 
<script> 
 
$(document).ready(function() 
 
{ 
 
$.ajax({ 
 
url:"http://localhost:8082/Backbone/rest/test/test1", 
 
method:'get', 
 
success:function (results) 
 
{ 
 
var source = $("#some-template").html(); 
 
var template = Handlebars.compile(source); 
 
$("#content").html(template(result)); 
 
} 
 
}) \t 
 
}); 
 
</script> 
 
</html>

Java-Rest Код:

@Path("/test") 
public class Common 
{ 
@GET 
@Path("/test1") 
public Response getMsg() 
{ 
Users user=new Users(1,"harish","ram"); 
String output=toJson(user); 
return Response.status(200).entity(output).build(); 
} 
public String toJson(Object object) 
{ 
Gson gson=new Gson(); 
String str=gson.toJson(object); 
return str; 
} 
} 

пользователям Класс:

public class Users 
{ 
    private int id; 
    private String username; 
    private String password; 
    public Users(int id,String username, String password){ 
    this.id=id; 
    this.username = username; 
    this.password = password; 
    } 
    public int getId() { 
    return id; 
    } 
    public void setId(int id){ 
    this.id = id; 
    } 
    public String getUsername(){ 
    return username; 
    } 
    public void setUsername(String username){ 
    this.username = username; 
    } 
    public String getPassword(){ 
    return password; 
    } 
    public void setPassword(String password){ 
    this.password = password; 
    } 
} 

Пожалуйста, помогите мне решить эту проблему.

+0

просьба дать ответ образец вашей серверной, так что мы можем лучше понять, что делается на стороне клиента. – thriqon

+0

Вы уверены, что это не проблема с перекрестным доменом? Убедитесь, что вызывается функция обратного вызова. – Fancyoung

+0

Это ответ на RestURL { «ID»: 1, «имя пользователя»: «Хариш», «пароль»: «баран»} –

ответ

0

Я решил эту проблему, изменив при RestURL следующим

@GET 
@Path("/test1") 
@Produces(MediaType.APPLICATION_JSON) 
public JSONObject getMsg() throws JSONException 
{ 
    String output ="{ users: [{username: \"alan\", firstName: \"Alan\", lastName: \"Johnson\", email: \"[email protected]\" },{username: \"allison\", firstName: \"Allison\", lastName: \"House\", email: \"[email protected]\" },{username: \"ryan\", firstName: \"Ryan\", lastName: \"Carson\", email: \"[email protected]\" }]};"; 
    JSONObject obj = new JSONObject(); 
    obj.put("id", 3); 
    obj.put("userName", 1); 
    obj.put("password", 2); 
    return obj;   
} 
Смежные вопросы