Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.07.2013, 09:10
Новичок на форуме
Отправить личное сообщение для vgrish Посмотреть профиль Найти все сообщения от vgrish
 
Регистрация: 15.07.2013
Сообщений: 7

междоменный запрос через $http.get
Доброе утро. Начал проходить уроки на angular.ru и дошел до $http.get.
Пробую обратиться к другому сайту что отдает данные в json и ничего не выходит(
function SitemodxListCtrl($scope, $http) {
   $http.get('http://on-modx.ru/api?display=1&random').success(function(data) {
   $scope.sitemodx = data;
  });


ошибку выдает Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers.
как с этим бороться?
спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 15.07.2013, 09:19
Профессор
Отправить личное сообщение для skrudjmakdak Посмотреть профиль Найти все сообщения от skrudjmakdak
 
Регистрация: 27.04.2012
Сообщений: 1,410

нельзя делать запросы на другой домен. можно сделать запрос на свой сервер, а уже от своего сервера на чужой
Ответить с цитированием
  #3 (permalink)  
Старый 15.07.2013, 09:47
Новичок на форуме
Отправить личное сообщение для vgrish Посмотреть профиль Найти все сообщения от vgrish
 
Регистрация: 15.07.2013
Сообщений: 7

попробовал:
создал страничку на ней запрос к другому домену, теперь пишет просто - (canceled)
и все(
Ответить с цитированием
  #4 (permalink)  
Старый 15.07.2013, 10:48
Новичок на форуме
Отправить личное сообщение для vgrish Посмотреть профиль Найти все сообщения от vgrish
 
Регистрация: 15.07.2013
Сообщений: 7

только так пока заработало
<?php
$ch = curl_init();
            $cv = curl_version();
            $user_agent = "curl ${cv['version']} (${cv['host']}) libcurl/${cv['version']} ${cv['ssl_version']} zlib/${cv['libz_version']}"; 
            curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
            curl_setopt($ch, CURLOPT_ENCODING, "deflate, gzip, identity");
            curl_setopt($ch, CURLOPT_HEADER, FALSE);
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
            curl_setopt($ch, CURLOPT_HTTPGET, TRUE);
            curl_setopt($ch, CURLOPT_URL, "http://on-modx.ru/api?mode=json&display=2&random&revo&evo&w=200&h=300");
            
            $respone = curl_exec($ch);
            curl_close($ch);
            return $respone;
Ответить с цитированием
  #5 (permalink)  
Старый 15.07.2013, 22:00
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 553

Сообщение от skrudjmakdak Посмотреть сообщение
нельзя делать запросы на другой домен. можно сделать запрос на свой сервер, а уже от своего сервера на чужой
А если с JSONP?
Ответить с цитированием
  #6 (permalink)  
Старый 17.07.2013, 15:03
Новичок на форуме
Отправить личное сообщение для vgrish Посмотреть профиль Найти все сообщения от vgrish
 
Регистрация: 15.07.2013
Сообщений: 7

Сообщение от Shitbox2 Посмотреть сообщение
А если с JSONP?
с JSONP тоже не вышло.
получилось как skrudjmakdak посоветовал.
p.s. Подскажите еще, а как мне загрузить в область видимости обычную html, не json? что то вроде как на angular.ru
читаю спецификацию по api , но чет не вкурил еще

то есть допустим делаю:
var myApp = angular.module('phonecat',[]).config(['$routeProvider', '$locationProvider',
    function($routeProvider, $locationProvider){
     $routeProvider.
         when('/phones', {templateUrl: 'partials/phone-list.html', controller: 'PhoneListCtrl'}).
         when('/phones/:phoneId', {templateUrl: 'partials/phone-detail1.html', controller: 'PhoneDetailCtrl'});
}
]);


function PhoneDetailCtrl($scope, $routeParams, $http) {
  $http.get('phones/' + $routeParams.phoneId + '.html').success(function(data) {
    $scope.phone = data;
    
  });
 
}

где phoneId.html у меня просто страница. И получаю на выходе страницу со всеми тегами - <p> <h1> и т.д.
или вообще так не делается?

ок! уже нашел)))

<div ng-bind-html-unsafe="html"></div>

Последний раз редактировалось vgrish, 17.07.2013 в 17:27.
Ответить с цитированием
  #7 (permalink)  
Старый 17.07.2013, 21:32
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 553

«с JSONP тоже не вышло.»

В jQuery, когда не выходило с JSONP, выходило через script. Правда, в Ангуляре не пробовал
Ответить с цитированием
  #8 (permalink)  
Старый 24.07.2013, 10:14
Аспирант
Отправить личное сообщение для biperch Посмотреть профиль Найти все сообщения от biperch
 
Регистрация: 10.07.2013
Сообщений: 34

Кроссдоменные запросы можно делать
на сервере куда вы посылаете запрос нужно добавить в ответ заголовок
Access-Control-Allow-Origin: *
Ответить с цитированием
  #9 (permalink)  
Старый 24.07.2013, 20:06
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от biperch
Кроссдоменные запросы можно делать
на сервере куда вы посылаете запрос нужно добавить в ответ заголовок
Access-Control-Allow-Origin: *
+

в доках ангуляра так и написано (CORS suppoted)

http://jsfiddle.net/ricardohbin/E3YEt/

http://better-inter.net/enabling-cors-in-angular-js/
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #10 (permalink)  
Старый 12.08.2013, 00:34
Профессор
Отправить личное сообщение для Shitbox2 Посмотреть профиль Найти все сообщения от Shitbox2
 
Регистрация: 04.10.2010
Сообщений: 553

У меня в начале PHP скрипта работает такая комбинация:
header('Access-Control-Allow-Origin: *'); 
header('Access-Control-Allow-Methods: POST, GET, PUT, DELETE, OPTIONS'); 
header('Access-Control-Allow-Headers: Content-Type, X-Requested-With');
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
AJAX запрос в Internet Explorer срабатывает через раз nikolayseo jQuery 5 12.11.2012 23:13
Запрос выбора checkbox через url Axios Элементы интерфейса 1 03.11.2011 19:38
Как получить запрос через адрес Finesse Серверные языки и технологии 2 21.06.2011 19:56
Запрос - ответ(VK,json) Slawaq Серверные языки и технологии 4 25.09.2010 00:28
Проблема с обработкой селектов html кода, пришедшего через ajax запрос Rage jQuery 6 26.01.2009 14:15