#javascript #angularjs #http #post
#javascript #angularjs #http #Публикация
Вопрос:
Вот функция для обработки моей формы
$scope.processForm = function () {
var url = 'http://localhost:8080/tickets/'
$http({
method: 'POST',
headers: {'Content-Type': 'application/json; charset=UTF-8'},
url: url,
data: JSON.stringify($scope.formData)
}).then(function successCallback(response) {
//log
console.log("ticket purchased");
}, function errorCallback(response) {
var requestID = JSON.stringify(response.data.requestID);
console.log("purchase failed");
});
Что я хотел бы сделать, так это добавить requestID
в конец URL-адреса, если есть ошибка.
Если есть ошибка, то URL-адрес должен изменить приведенное ниже после повторной отправки:
var url = 'http://localhost:8080/tickets/' requestID
Ответ №1:
Вы хотите добавить идентификатор запроса в конец URL-адреса, на который вы отправляете данные, правильно?
Одним из вариантов было бы сохранить либо URL-адрес, либо идентификатор запроса в $scope.
$scope.url = 'http://localhost:8080/tickets/';
$scope.processForm = function () {
$http({
method: 'POST',
headers: {'Content-Type': 'application/json; charset=UTF-8'},
url: $scope.url,
data: JSON.stringify($scope.formData)
}).then(function successCallback(response) {
//log
console.log("ticket purchased");
}, function errorCallback(response) {
var requestID = JSON.stringify(response.data.requestID);
$scope.url = 'http://localhost:8080/tickets/' requestID;
console.log("purchase failed");
});
Комментарии:
1. Спасибо, это помогло мне найти решение.
Ответ №2:
Я понял, как добиться того, чего я хотел, в конце концов. Я сохранил URL-адрес и идентификатор запроса в $scope.
if ($scope.requestID == null) {
$scope.url = 'http://localhost:8080/tickets/';
}
else if ($scope.requestID !== null amp;amp; $scope.firstTransaction == null) {
$scope.firstRequest = $scope.requestID;
console.log("first transaction id = " $scope.requestID)
$scope.url = 'http://localhost:8080/tickets/' $scope.firstRequest;
}
$scope.processForm = function() {
$http({
method: 'POST',
headers: {
'Content-Type': 'application/json; charset=UTF-8'
},
url: $scope.url,
data: JSON.stringify($scope.formData)
}).then(function successCallback(response) {
//log
console.log("ticket purchased");
}, function errorCallback(response) {
var requestID = JSON.stringify(response.data.requestID);
$scope.url = 'http://localhost:8080/tickets/' requestID;
console.log("purchase failed");
});