Я использую углы и встроенную директиву $ http для публикации в нашей конечной точке API. Он работает в Chrome, но у меня проблема в Safari. Вот звонок от моего Api завода:Угловая запись Http в Safari Нажатие на другой URL-адрес, кроме Chrome
assignments: function(csv) {
var deferred = $q.defer();
$http({
method: 'POST',
url: '/api/numbers/assignments',
data: $.param({
skipBillables: false,
assignments: csv,
}),
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
}).success(function(data) {
deferred.resolve(data);
}).error(function(data) {
deferred.reject(data);
})
return deferred.promise;
},
Теперь мои контроллеры потребляет Api.assignments, что я создал. Вот следующий фрагмент:
Api.updateSubscription(org.id, cardData).then(function(data) {
Api.getSession().then(function(data) {
if (!_($scope.savedTollFreeNumberCheckout).isBlank()) {
var checkouttollfreenumber = '1' + $scope.savedTollFreeNumberCheckout.tfn;
var assignObj = [{
phoneNum: checkouttollfreenumber,
email: owner.emailAddress,
percent: 0,
}];
var csvFile = downloadCSV(assignObj);
console.log(csvFile);
Api.assignments(csvFile).then(function(data) {
$window.location.reload();
});
};
});
});
Когда я называю это, она работает в Chrome. Единственным браузером, который он не работает, является Safari. В Safari полный URL-адрес, который вызывается: http://local.appname.com:9000/18775078169,[email protected],percentageparameter, который не является правильной конечной точкой. В Chrome он бьет http://local.appname.com:9000/api/numbers/assignments Если у кого-то есть предложения по исправлению, я очень благодарен за помощь.
Последнее изменение POST для GET и неправильное – charlietfl
Также $ .param используется для POST, если ожидается, что данные будут отправлены как 'x-www-form-urlencoded' – charlietfl
Есть ли у вас какие-либо рекомендации относительно того, почему сообщение, похоже, работает в хромовой, но не сафари? Цените помощь. –