2015-05-02 2 views
0

я следующий $ HTTP вызова в контроллере:

см полного кода в plunker

$http.jsonp("http://currencyconverter.kund.nu/api/availablecurrencies/?callback=JSON_CALLBACK") 
    .success(function(data){ 
    console.log('data',data) 
    }) 
    .error(function(err){ 
    console.log('err',err)//it console err undefined 
    }) 

выше кода консоли err undefined. означает, что он выполняет ошибку callback.but, когда я открываю хром сетевой инструмент, в ответах он показывает данные ответа. Почему это так?

ответ

1

Ваш JSONP URL всегда должен иметь один параметр callback=JSON_CALLBACK который вы здесь недостающую

$http.jsonp("http://currencyconverter.kund.nu/api/availablecurrencies/?callbak=JSON_CALLBACK") 

Update

Кажется стороне сервера вы не реализовали логику, чтобы обернуть возвращенный объект внутри значения обратного вызова , потому что хит this url в консоли браузера должен содержать массивную упаковку внутри JSON_CALLBACK переменная

JSON_CALLBACK({..data here}) 

Но она возвращается массив

[...data...] 

Такое поведение должно быть обработано на стороне сервера.

+0

mistakely я написал? JSONP = JSON_CALLBACK вместо? Callbak = JSON_CALLBACK». Но опять же он нт работает. –

+0

@MukundKumar посмотреть на мой отредактированный ответ –

+0

да, но я использую (общественные) api.i друга может» t изменить это. Есть ли способ справиться с проблемой перекрестного домена? –

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