Angularjs$http无法工作

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

我正在尝试从angularjs访问RESTWeb服务。我无法成功地调用它

AngularJs代码

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);