1
当我运行jsp文件时,我得到[{“USRNM”:“sahar”,“USRPWD”:“password”}]这是正确的,但是当我运行html时,我不能显示数据,当我提醒它时,数据在html标签内,而我试着用[对象对象]的形式警告数据的json文件。请帮助我找出我做错了什么。如何将json对象从jsp返回到angularjs ajax http.get?
的jsp:
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select UsrNm,UsrPwd from dbo.tblUsr");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
JSONArray jsonArray = new JSONArray();
//List <JSONObject> jsonArray = new ArrayList<JSONObject>();
List <String> columnNames = new ArrayList<String>();
for(int i=1;i<=numberOfColumns;i++) {
columnNames.add(rsMetaData.getColumnName(i).toUpperCase());
}
while(rs.next()) {
JSONObject obj = new JSONObject();
for(int i=1;i<=numberOfColumns;i++) {
String key = columnNames.get(i - 1);
Object value = rs.getObject(i);
obj.put(key, value);
}
jsonArray.add(obj);
}
//response.setContentType("application/json");
// response.setCharacterEncoding("UTF-8");
response.getWriter().write(jsonArray.toString());
HTML:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="customersCtrl">
<table>
<tr ng-repeat="x in names">
<td>{{ x.USRNM}}</td>
<td>{{ x.USRPWD}}</td>
</tr>
</table>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
$http.get("newjsp2.jsp")
.success(function (response) {
// alert(JSON.stringify(response));
alert(response);
$scope.names = response;
}).error(function(response,status,headers,config){
alert('cannot find resource');
console.log(response);
console.log(status);
console.log(headers);
console.log(confiq);
});
});
</script>
什么是alert(response);返回给你$ http.get(“newjsp2.jsp”)。success() –
它返回:[{“USRNM”:“sahar”,“USRPWD”:“密码”}] <!DOCTYPE html>