Angularjs$http无法工作
我正在尝试从angularjs访问RESTWeb服务。我无法成功地调用它 AngularJs代码Angularjs$http无法工作,angularjs,rest,Angularjs,Rest,我正在尝试从angularjs访问RESTWeb服务。我无法成功地调用它 AngularJs代码 var singleOrderUrl = "/singleOrder/retrieve"; function getSingleOrderDetails(userName,singleOrderUrl,$http,$q) { var fd = new FormData(); var deffered = $q.defer(); fd.append('U
var singleOrderUrl = "/singleOrder/retrieve";
function getSingleOrderDetails(userName,singleOrderUrl,$http,$q) {
var fd = new FormData();
var deffered = $q.defer();
fd.append('USERNAME', 'test123');
//fd.append();
//fd.append();
console.log("inside service"+userName+"singleOrderUrl:::"+singleOrderUrl);
return $http.get(singleOrderUrl, fd, {
withCredentials : false,
transformRequest : angular.identity,
headers : {
'Content-Type' : undefined,
}
}).success(function(response) {
console.log(response);
responseData = response.data.toString();;
deffered.resolve(response);
return responseData;
}).error(function(error) {
alert("error");
deffered.reject(error);
return "failed";
});
};
Rest服务代码
@RestController
公共类SingleOrderHistoryController{
private static final Logger logger = LoggerFactory.getLogger(SingleOrderHistoryController.class.getName());
@RequestMapping(value = "/singleOrder/retrieve", method=RequestMethod.GET, produces="application/json")
public List<SingleHistoryRecord> getSingleOrderDetails(@RequestParam(value = Constants.USER_NAME, required = true) String userName, HttpServletRequest request,HttpServletResponse response) throws Exception {
logger.debug("inside SingleOrderHistoryController ");
List<SingleHistoryRecord> singleOrderHistoryList = new ArrayList<SingleHistoryRecord>();
SingleHistoryRecord record1 = new SingleHistoryRecord();
SingleHistoryRecord record2 = new SingleHistoryRecord();
record1.setClientIdentifier(userName);
record1.setSubmitDate("01/05/2017");
record1.setStatus("Complete");
record1.setReferenceID("1234555");
record1.setOrderID("test123");
record2.setClientIdentifier(userName);
record2.setSubmitDate("01/05/2017");
record2.setStatus("Complete");
record2.setReferenceID("1234555");
record2.setOrderID("test123");
singleOrderHistoryList.add(record1);
singleOrderHistoryList.add(record2);
return singleOrderHistoryList;
}
private static final Logger Logger=LoggerFactory.getLogger(SingleOrderHistoryController.class.getName());
@RequestMapping(value=“/singleOrder/retrieve”,method=RequestMethod.GET,products=“application/json”)
公共列表getSingleOrderDetails(@RequestParam(value=Constants.USER_NAME,required=true)字符串用户名、HttpServletRequest请求、HttpServletResponse响应)引发异常{
debug(“SingleOrderHistoryController内部”);
List singleOrderHistoryList=new ArrayList();
SingleHistoryRecord1=新的SingleHistoryRecord();
SingleHistoryRecord2=新的SingleHistoryRecord();
record1.setClientIdentifier(用户名);
记录1.提交日期(“2017年5月1日”);
记录1.设置状态(“完成”);
记录1.setReferenceID(“1234555”);
记录1.setOrderID(“test123”);
record2.setClientIdentifier(用户名);
记录2.提交日期(“2017年5月1日”);
记录2.设置状态(“完成”);
记录2.setReferenceID(“1234555”);
记录2.setOrderID(“test123”);
singleOrderHistoryList.add(记录1);
singleOrderHistoryList.add(记录2);
返回singleOrderHistoryList;
}
任何人都可以告诉我我做错了什么,这是获取响应页面的源代码,而不是获取列表。1.您没有正确使用延迟。2.您从何处获取源代码。3.尝试使用postman或其他rest客户端从应用程序外部的api获取数据。我已尝试访问rest通过soapUI及其工作正常。响应的值是页面的页面源代码。http.get只接受2个参数。url和一个配置选项。如果您试图向api发送数据,您将需要使用post。您可以提供响应吗?角度版本很重要。不推荐使用.success(..).error(..)(现在已经很旧了)所以我猜您使用的是更现代的angular版本(我想是1.3之后的版本),所以您应该使用
$http.get(…)。然后(successHandler,errorHandler)
1.您没有正确使用延迟。2.您从何处取回源代码。3.尝试使用postman或其他rest客户端从应用程序外部的api取回数据。我已尝试通过soapUI访问rest,其工作正常。响应值为页面的页面源代码。http.get仅接受2个参数。the url和一个配置选项。如果您试图向api发送数据,您需要使用post。您能提供响应吗?角度版本很重要。不推荐使用.success(..).error(..)(现在已经很旧了),所以我猜您使用的是更现代的角度版本(我想是1.3之后的某个地方),所以您应该使用$http.get(…).然后(successHandler,errorHandler);