Форум программистов, компьютерный форум, киберфорум
Angular/AngularJS
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 4
Регистрация: 03.09.2014
Сообщений: 10

$http С некоторых url запрос не проходит

05.11.2014, 21:27. Показов 1951. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я пытаюсь получить запрос с удаленного сервера.

С некоторых url все работает нормально. Например

app.js
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
var app = angular.module('app', ['app.angularGit']); 
 
app.controller('MainController', function($scope, AngularGit) {
    var param = {category: 'commits', sha: '0c19482d033f592fb9f341187c0a5d2e313e79cc'}
    $scope.benefit = AngularGit.get(param)
    console.log(AngularGit.get(param))
});
 
angular.module ('app.angularGit', ['ngResource'])
    .factory('AngularGit', function($resource) {
        return $resource('https://api.github.com/repos/angular/angular.js/:category/:sha')    
        //return $resource('https://routingnumbers.herokuapp.com/api/data.json?rn=1')    
    })
html.js
JavaScript
1
2
3
4
5
6
7
8
9
10
<html ng-app="app">
    <body>
        <div ng-controller="MainController">
        {{benefit}}  
        </div>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.min.js"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular-resource.min.js"></script>
        <script type="text/javascript" src="app.js"></script>
    </body>
</html>
но если изменить url например на https://routingnumbers.herokua... .json?rn=1
в консоле появляется надпись

HTML5
1
No 'Access-Control-Allow-Origin' header is present on the requested resource.
если использовать jsonp - то же самое, с некоторых url все работает нормально
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.2/angular.min.js"></script>
    <script>
    var countryApp = angular.module('countryApp', []);  
    countryApp.controller('CountryCtrl', function ($scope, $http){  
        var url = 'https://api.github.com/repos/angular/angular.js/commits/0c19482d033f592fb9f341187c0a5d2e313e79cc?callback=JSON_CALLBACK';  
        $http.jsonp(url)
            .success(function(data) {  
                $scope.blog = data;
                $scope.test = 'Test';                
            })
            .error(function (data, status, headers, config) {
                alert("Dang It!");
            }); 
    });    
    </script>
  </head>   
  <body ng-app="countryApp">  
    <div ng-controller="CountryCtrl">
    {{test}}<br/>  
    </div>
  </body>
но если изменить url например на https://routingnumbers.herokua... .json?rn=1
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 <script src="http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.2/angular.min.js"></script>
    <script>
    var countryApp = angular.module('countryApp', []);  
    countryApp.controller('CountryCtrl', function ($scope, $http){  
        //var url = 'https://api.github.com/repos/angular/angular.js/commits/0c19482d033f592fb9f341187c0a5d2e313e79cc?callback=JSON_CALLBACK';  
        var url = 'https://routingnumbers.herokuapp.com/api/data.json?rn=1&callback=JSON_CALLBACK';  
        $http.jsonp(url)
            .success(function(data) {  
                $scope.blog = data;
                $scope.test = 'Test';                
            })
            .error(function (data, status, headers, config) {
                alert("Dang It!");
            }); 
    });    
    </script>
  </head>   
  <body ng-app="countryApp">  
    <div ng-controller="CountryCtrl">
    {{test}}<br/>  
    </div>
  </body>
то в chrom dev Network JSON появляется но без префикса angular.callbacks._0({
JavaScript
1
{"rn": "1?callback=angular.callbacks._0", "message": "Routing numbers are 9 digits", "code": 400}

Может быть поможет настройка через CORS?
Я пытаюсь настроить через $httpProvider но без особого успеха.
JavaScript
1
2
3
//countryApp.config(function($httpProvider){
    //    $httpProvider.defaults.headers.common['Access-Control-Allow-Origin'];
    //});
Добавлено через 17 минут
У меня, как новичка нет возможности редактировать

Я использовала два парамерта в запросе
не валидный https://routingnumbers.herokua... .json?rn=1
валидный https://routingnumbers.herokua... =071000013

не в том не в другом случае не работает и не получаем ответ
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.11.2014, 21:27
Ответы с готовыми решениями:

Простой сервлет HTTP Status 405 - HTTP method GET is not supported by this URL
Здравствуйте,начал изучение сервлетов.Делал все последовательно как в примере http://devcolibri.com/4284,пока еще без создания jsp файла...

HTTP запрос через Apache HTTP Client ничего не возвращает
У меня есть один сайт. Простой сайт на php. И есть второй сайт, где используется java на JBoss. Я хочу сделать так, чтобы при заходе...

Даны 2 запроса. Нужно Если 1 запрос получает результат (проходит) True то выполнить 2 запрос
День добрый. Подскажите как реализовать несложное условие. Даны 2 запроса. Нужно Если 1 запрос получает результат (проходит) True...

6
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
05.11.2014, 21:36
_Elena, CORS настраивается на сервере
не нужно пытаться прописать Access-Control-Allow-Origin на клиенте

когда нет доступа к серверу и невозможно прописать нужные хедеры, используйте jsonp

если вам приходит ответ с кодом 400
JSON
1
{"rn": "1?callback=angular.callbacks._0", "message": "Routing numbers are 9 digits", "code": 400}
это как правило означает некорректный запрос
т.е. тут проблема скорее всего не в доступе, а в том что запрос в принципе не верно сформирован для этого API

а если использовать вашу ссылку с валидным параметром, то возвращается ответ

JSON
1
{"new_routing_number": "000000000", "customer_name": "JPMORGAN CHASE BANK, NA", "institution_status_code": "1", "city": "BELLEVILLE", "code": 200, "office_code": "O", "routing_number": "071000013", "zip": "48111", "record_type_code": "1", "address": "9000 HAGGERTY- MI 1-8205", "data_view_code": "1", "state": "MI", "rn": "071000013", "telephone": "800-677-7477", "change_date": "012111", "message": "OK"}
он вам тоже не по нраву?
0
1 / 1 / 4
Регистрация: 03.09.2014
Сообщений: 10
05.11.2014, 22:13  [ТС]
Как получить доступ в этому ответу, который мы видем в Network?
мы не получаем success

JavaScript
1
2
3
$http.jsonp(url)
            .success(function(data) {  
                $scope.blog = data;
Я использовала JSONP (посмотрите на пример 2)

1. он возвращает ошибку

Uncaught SyntaxError: Unexpected token : routingnumbers.herokuapp.com/api/data.json?rn=071000013&callback=angular. callbacks._0:1

2. network для https://routingnumbers.herokua... N_CALLBACK
возвращает JSON без angular префикса

3. в ошибке возвращается: data - undefined; status -0;
.error(function (data, status, headers, config) {
alert("Dang It!");
console.log(data);
console.log(status);
console.log(headers);
console.log(config);
});


JavaScript
1
2
3
4
undefined Example_25_url_Get.html:24
0 Example_25_url_Get.html:25
function (c){a||(a=jc(b));return c?a[v(c)]||null:a} Example_25_url_Get.html:26
Object {transformRequest: Array[1], transformResponse: Array[1], method: "JSONP", url: "https://routingnumbers.herokuapp.com/api/data.json?rn=071000013&callback=JSON_CALLBACK", headers: Object}headers: ObjectAccept: "application/json, text/plain, */*"__proto__: Objectmethod: "JSONP"transformRequest: Array[1]0: function (a){return X(a)&&"[object File]"!==Ya.apply(a)?oa(a):a}length: 1__proto__: Array[0]transformResponse: Array[1]0: function (d){B(d)&&(d=d.replace(c,""),b.test(d)&&a.test(d)&&(d=Tb(d)));return d}length: 1__proto__: Array[0]url: "https://routingnumbers.herokuapp.com/api/data.json?rn=071000013&callback=JSON_CALLBACK"__proto__: Object
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
06.11.2014, 10:18
_Elena, вы понимаете что сервер должен поддерживать jsonp, и сам оборачивать json ответ в ф-цию которая передана параметром callback?
ваш сервер поддерживает jsonp?
0
1 / 1 / 4
Регистрация: 03.09.2014
Сообщений: 10
06.11.2014, 19:11  [ТС]
Переформлирую вопрос.

Как работать с запросом, который скорее всего не поддерживает JSONP (как было показано на примере 2), но дает ответ с правильным JSON без оберкти angular.

Доступа с энд пойнт нет. Я могу работать только на клиентской стороне.


Как получить доступ в этому ответу, который мы видем в Network?
0
 Аватар для whiteapps
414 / 379 / 220
Регистрация: 18.07.2014
Сообщений: 1,259
07.11.2014, 12:32
_Elena,
именно в этом и заключается смысл кроссдоменной политики безопасности
если бы существовал способ обойти ее без позволения сервера, то в ней просто не было бы смысла
0
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
07.11.2014, 13:53
Можно использовать свой прокси для таких обращений. Т. е. запрос посылается на твой сервер, там пересылается на нужный тебе, а результат прокидывается обратно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.11.2014, 13:53
Помогаю со студенческими работами здесь

Запрос через http - HTTP Error 400
Добрый день Есть запрос, который хотим отправлять через http ВЫБРАТЬ НАЧАЛОПЕРИОДА(ХозрасчетныйДвиженияССубконто.Период, ДЕНЬ) КАК...

Как в Yii 2 изменить URl с http://localhost/index.php?r=site%2Findex на http://localhost/index ?
Очень нужно нормально розставить пути ,делал по видео выдало ошибку.На каждой странице http://localhost/index.php?r=site%2+имя файла , а...

Скрип не копирует url некоторых картинок
Спасите, помогите ))) Скрипт по ctrl+ mouse right click копирует ссылку на картинку. Но почему-то не хватает ссылку вот такой...

Мониторинг сети, и замена данных от некоторых URL
Мне нужно как-то на C++ написать программу, которая будет на компьютере отлавливать все соединения с интернетом, и если например я гружу...

Не удается подключить css и js при некоторых url
Добрый вечир.Проблема такая: Если вводить url так 'site' или так 'site/category, то все нормально.Але если ввести так 'site/category/' или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru