У меня есть этот фрагмент кода jQuery, который отлично работает с перекрестным происхождением:
jQuery.ajax({
url: "http://example.appspot.com/rest/app",
type: "POST",
data: JSON.stringify({"foo":"bar"}),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response) {
console.log("success");
},
error: function (response) {
console.log("failed");
}
});
Теперь я пытаюсь безуспешно преобразовать это в код Angular.js:
$http({
url: "http://example.appspot.com/rest/app",
dataType: "json",
method: "POST",
data: JSON.stringify({"foo":"bar"}),
headers: {
"Content-Type": "application/json; charset=utf-8"
}
}).success(function(response){
$scope.response = response;
}).error(function(error){
$scope.error = error;
});
Любая помощь приветствуется.
jquery
ajax
angularjs
cross-domain
angular-http
Бесконечный
источник
источник
Ответы:
AngularJS вызывает $ http примерно так:
или можно было бы написать еще проще, используя методы быстрого доступа:
Следует обратить внимание на ряд моментов:
success
иerror
соответственно (также обратите внимание на параметры каждого обратного вызова) - устарело в angular v1.5then
вместо этого используйте функцию.then
использовании можно найти здесьВышеупомянутое - это всего лишь быстрый пример и несколько указателей, не забудьте проверить документацию AngularJS, чтобы узнать больше: http://docs.angularjs.org/api/ng.$http
источник
params
иdata
это две разные вещи: параметры попадают в URL (строку запроса), а данные - в тело запроса (только для типов запросов, которые действительно могут иметь тело).Мы можем реализовать запрос ajax, используя службу http в AngularJs, которая помогает читать / загружать данные с удаленного сервера.
Ниже перечислены методы службы $ http,
Один из примеров:
http://www.drtuts.com/ajax-requests-angularjs/
источник
Вы можете использовать это:
Скачать "angular-post-fix": "^ 0.1.0"
Затем добавьте httpPostFix к своим зависимостям при объявлении модуля angular.
Ссылка: https://github.com/PabloDeGrote/angular-httppostfix
источник
вы можете использовать $ .param для назначения данных:
посмотрите на это: AngularJS + ASP.NET Web API Cross-Domain Issue
источник