希望有些人可以帮助我。
我有一个宁静的服务,我从AngularJs应用程序调用,但收到如下错误。我可以从浏览器或任何其他休息客户端调用该服务,并能够获得结果。请查看以下代码和帮助。
我的控制器
scotchApp.controller('newLogicalTeamController', function($scope,$http,$routeParams) {
// create a message to display in our view
$scope.applicationSel = $routeParams.Appl_Sel;
console.log(1111);
$http.jsonp("http://localhost:8080/PortalService/rest/GetDataService?callback=callback")
.success(function(response) {
console.log(1);
$scope.ApplicationList = response;
console.log(response);
}).error(function(){
console.log(2);
});
});
我的服务
@GET
@JSONP(queryParam="callback")
@Produces({"application/x-javascript"})
public List<LogicalTeam> getLogicalTeams()
{
System.out.println("1");
con = PostgreSQLJDBC.getConnection();
try {
st = con.createStatement();
rs = st.executeQuery(QUERY_GET_LOGICAL_TEAM);
System.out.println("2");
while(rs.next())
{
System.out.println("3");
LogicalTeam team = new LogicalTeam();
team.setIntTeamId(rs.getInt(1));
team.setStrTeamName(rs.getString(2));
team.setStrSubBizGrp(rs.getString(3));
team.setStrBizGrp(rs.getString(4));
teamList.add(team);
}
return teamList;
//return new JSONWithPadding(teamList,callback);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
return null;
}
从浏览器点击服务时的输出。
callback([{"intTeamId":300,"strBizGrp":"100","strSubBizGrp":"201","strTeamName":"New Business"}])
控制台日志
Uncaught ReferenceError: callback is not defined
我也试过返回类型为JSONPadding但没有运气。当我使用$ http.get时收到如下错误。所以我切换到$ http.jsonp。我不确定我做正确的事情来调用休息服务
XMLHttpRequest cannot load http://localhost:8080/PMPortalService/rest/GetDataService?callback=callback. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.
答案 0 :(得分:0)
你的回调需要字面意思是“JSON_CALLBACK”。
尝试
$http.jsonp("http://localhost:8080/PMPortalService/rest/GetDataService?callback=JSON_CALLBACK")