Estou trabalhando em um site com recursos CRUD para um projeto da escola. Estamos usando angular, JSON groovy e MySql para o projeto. Estou usando esse código em um arquivo HTML:
$scope.getUsers=function(){
$scope.employees=$http.get("getUsers.groovy").success(function(response){
return response.data
}
Quando executo a página html e chamo a função getUser, recebo este erro:
erro de sintaxe getUsers.groovy: 1
O código no arquivo groovy parece correto:
import groovy.sql.Sql
import flexjson.JSONSerializer;
import org.json.JSONArray;
import org.json.JSONObject;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
System.out.println("Arrived users");
JSONSerializer serializer = new JSONSerializer();
response.setHeader("Access-Control-Allow-Origin", "*");
sql = Sql.newInstance("jdbc:mysql://localhost:8080/test", "root","", "com.mysql.jdbc.Driver")
def query="select c.id,c.Name, c.Address, c.Department from people c order by c.id";
JSONArray json = new JSONArray();
sql.eachRow(query) {row->
JSONObject obj = new JSONObject();
obj.put("id",row.id);
obj.put("name",row.Name);
obj.put("address",row.Address);
obj.put("dept",row.Department);
json.put(obj);
}
out<< json;
Qualquer ajuda seria muito apreciada!! É para o meu projeto final
Respostas:
0 para resposta № 1getUsers.groovy
não é um URL http. Sua implementação groovy deve ser mapeada para um serviço da web que retorne resposta JSON. Então, é isso $http.get("getUsers.groovy")
deve ser mais como $http.get("http://yourserver/users")
.
Em uma observação mais geral, anularjs é uma tecnologia do lado do cliente, enquanto o groovy é do lado do servidor. Verificação de saída esta tutorial para uma melhor compreensão.