2014-09-05 2 views
0

У меня есть небольшое приложение Angularjs, и я пытаюсь обработать json из моего ASP.NET-сервера Api-контроллера.Angularjs и Web Api - проблема форматирования JSON

На заводе angularjs:

adapter.getLegacyCouriers = function(id) { 
    return $http({ 
    method: 'GET', 
    url: 'http://legacywebapi.azurewebsites.net/api/legacycourier' 
    }); 
} 

В контроллере:

legacyService.getLegacyCouriers() 
.success(function (response) { 
     alert("Success: " + JSON.stringify(response)); 
}) 
.error(function (response) { 
    alert("Error: " + JSON.stringify(response)); 
}); 

Когда я обменивать URL в $ HTTP GET with this one он попадает в блок успеха. Тем не менее, мой URL-адрес по умолчанию, который возвращает json, отформатированный таким же образом, обращается к ошибкам.

Может кто-нибудь мне помочь? Оба возвращают заголовки заголовков приложений/json, и оба возвращают статус 200 OK (с помощью Chrome для отладки). Я не могу понять, почему мой json попадает в блок ошибок.

+0

@mmeverdies это сообщение соответствует примеру запроса на успех – Fals

+0

@rnrneverdies Я не получал сообщение «дневной лимит», когда я тестировал geonames api. Он возвращал фактический набор результатов json, который был отформатирован точно (или, как я полагаю) таким же образом, как и мой возвращенный из контроллера Web Api. –

+0

Похож на проблему с пареметром. Вероятно, у метода нет параметров по умолчанию. Что-то происходит на стороне сервера. Попытайтесь зарегистрировать любое исключение в api – Fals

ответ

2

Ваша служба responing с

Нет 'Access-Control-Allow-Origin' заголовок присутствует на запрашиваемом ресурса. Origin 'run.jsbin.com'; поэтому не допускается доступ. от вашего legacywebapi.azurewebsites.net/api/legacycourier

смотрите здесь jsbin.com/nugif/1/edit.

Просто разрешите совместное использование ресурсов перекрестного происхождения.