2016-04-15 2 views
1

Вопрос фона:

Я учусь AngularJS, и я пытаюсь сделать мой первый запрос HTTP с использованием HTTP $.

выпуска:

У меня есть Api конечная точка Web, которая в настоящее время работает нормально с приложением, не AngularJS у меня есть.

Когда я попытался вызвать конечную точку через Угловое с $ HTTP я получаю следующие ошибки в консоли в IE:

SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied. 

localhost:55315 
TypeError: Function expected 
    at Anonymous function (http://localhost:55315/Modules/Main.js:105:17) 
    at Anonymous function (http://localhost:55315/Scripts/angular.min.js:95:194) 
    at Anonymous function (http://localhost:55315/Scripts/angular.min.js:128:295) 
    at m.prototype.$eval (http://localhost:55315/Scripts/angular.min.js:142:456) 
    at m.prototype.$digest (http://localhost:55315/Scripts/angular.min.js:140:39) 
    at m.prototype.$apply (http://localhost:55315/Scripts/angular.min.js:143:247) 
    at g (http://localhost:55315/Scripts/angular.min.js:95:442) 
    at x (http://localhost:55315/Scripts/angular.min.js:100:50) 
    at e (http://localhost:55315/Scripts/angular.min.js:101:129) 

Код:

AngularJS:

app.service('SearchService', function (Search, $http) { 
var self = { 

    searchList: [], 
    loadSearchList: function() { 

     $http({ 
      method: 'GET', 
      url: 'http://thisistheurl.azurewebsites.net/api/ShoppingComparison/GetComparisons', 
      data : { 
       itemtosearch: 'rolex', 
       itemIndex: 'watches', 
       countryCode: 'UK', 
       maxPrice: '50000', 
       minPrice: '0', 
       highToLow: true, 
       lowToHigh: false, 
       amazonEbay: true, 
       amazonOnly: false, 
       ebayOnly: false 
      }, 
      headers: { 
       'Content-Type':'text/plain; charset=UTF-8', 
       'Access-Control-Allow-Origin': 'http://localhost:55315/', 
       'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT, DELETE'} 
     }).success(function (data, status, headers, config) { 
      console.log("Passed"+ data + " " + status); 
     }).error(function (data, status, headers, config) { 
      console.log("Failed" + data + " " + status); 
     }); 

return self; 
}); 

Web Api Конечная точка:

[EnableCors(origins: "*", headers: "*", methods: "*")] 
    public ViewItemModel GetComparisons(string itemToSearch, string itemIndex, string countryCode, 
     string maxPrice, string minPrice, bool highToLow, bool lowToHigh, bool amazonEbay, 
     bool amazonOnly, bool ebayOnly) 
    { 
     return _callAndSearchApis.SearchApis(itemToSearch, itemIndex, countryCode, 
      maxPrice, minPrice, highToLow, lowToHigh, amazonEbay, amazonOnly, ebayOnly); 
    } 

ответ

0

Вы используете метод GET, так что вы должны использовать params вместо data. Также вам не удалось закрыть } после определения loadSearchList.

И вы могли бы просто сделать return { }; вместо var self = {}

+0

Большое спасибо! Это отсортировало мою проблему. – user1352057

Смежные вопросы