2016-07-07 2 views
0

Я пытался использовать этот код:

var url = "http://www.test.com?param=1&callback=JSON_CALLBACK"; 

$http.get(url).success(function(data, status, headers, config) { 

if (data.success == 1) { 

    //do somethings 

} else { 

    //notice 

} 

}); 

Это работает хорошо с браузерами ноутбук, но на мобильных браузерах, он не работает.

в .htaccess, я добавил:

Header add Access-Control-Allow-Origin "*" 

Header add Access-Control-Allow-Headers "x-requested-with, content-type" 

Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS" 

Пожалуйста, помогите!

+0

Я думаю, что это не связано с мобильным телефоном и ноутбуком, это связано с версией браузера. Я думаю, что ваше приложение не размещено на нем http://www.test.com, и теперь вы отправляете запрос ajax в другой домен, и браузер блокирует его. – Indra

+0

Либо вы можете развернуть приложение в том же домене, где вы отправляете запрос ajax, и если это невозможно, включите cors в http://www.test.com. – Indra

+0

. Вы можете проверить доступ к вашему домену любым клиентом покоя, который поможет понять, доступен ли сервер остального. –

ответ

0

Мобильный браузер и настольный браузер одинаково работают для http-звонков. Вы можете сделать блок ошибок в своем коде, чтобы узнать, какая ошибка исходит от сервера. Ниже фрагмент кода я предлагаю.

this._getAll = function (model) { 
     var deferred = $q.defer(); 
     $http 
     .get("your-secure-rest-url") 
     .success(function (data) { 
      deferred.resolve(data); 
     }) 
     .error(function (reason) { 
      deferred.reject(reason); 
     }); 
     return deferred.promise; 
}; 

Как вы допускаете происхождение доступа «*» для всех доменов, нет никаких проблем в стороне клиента, но вы должны проверить сервер отдыха, если он, доступную из всех доменов, или оно ограничено определенной области.

+0

Проблема с крестом orgin, очевидно, со стороны сервера. Таким образом, добавление $ q в интерфейсе не будет иметь никакого значения. – Indra

+1

Да, я просто предоставил лучший метод для работы и синхронизации с сервером. В моем ответе я четко упомянул добавить блок ошибок, чтобы вы могли поймать ошибку, возвращающуюся с сервера. Услуга $ q - это обещание api, которое вы можете рассматривать как наилучшую практику при совершении внешних вызовов. –

+0

Здравствуйте, я нашел эту проблему. Это из моего php-кода, спасибо за вашу помощь –

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