$ http.get返回响应的Html代码而不是json对象

时间:2015-10-06 12:17:26

标签: json angularjs http-get

我尝试使用angular $ http.get方法从外部API获取一些数据,但我得到的是' html代码'而不是' json对象'作为回应。当我尝试使用jquery ajax调用API时,它工作正常。这是代码

  $http.get({
   "url": 'https://ebaydemo.stamplayapp.com/api/cobject/v1/projects',
   "crossDomain": true,
   "headers": {
      "accept": "application/json",
      "content-type": "application/json"
    },
    "params": {
      "populate": false,
      "n": 10
    },
    "processData": false
  }).success(function (response) {
   console.log(response);// Response has 'html code'
  });

修改 这是我现在收到的简短回复片段:

<!doctype html>
<!--[if lt IE 7]>      <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--   >
<!--[if IE 7]>         <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<base href="/">
<title></title>

2 个答案:

答案 0 :(得分:2)

我创建了一个HTML代码片段来调用您的代码,如下所示:

<html>
<body ng-app="app" ng-controller="eBayController">
<input type="button" value="EBay" ng-click="getFromEbay()"></input>
<script rc="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="ebay.js"></script>
</body>

然后将JavaScript简化为:

/* global angular */
angular.module("app",[])
.controller('eBayController', function($scope,$http) {
    $scope.getFromEbay = function() {
        $http.get("https://ebaydemo.stamplayapp.com/api/cobject/v1/projects")
        .success(function (response) 
        {
            console.log(response);
        }); 
   }

})

我正在收回一个JSON对象。

答案 1 :(得分:0)

您的请求格式错误。这是一个你可以看到它如何工作的plunker。

http://plnkr.co/edit/QFCs8kiPvcErmeRePBMd

查看app.js以及如何使用$http