Что мешает типу POST
получить ожидаемый результат при использовании location.href
(или window.location.href
) в качестве данных?
Этот код не работает (ничего не возвращает):
$.ajax({
type: "POST",
url: 'page.asp',
data: {'q': location.href},
success: function(short_link,status){
console.log('short_link = '+short_link);
console.log('status = '+status);
}
});
![enter image description here](https://i.stack.imgur.com/qZZej.gif)
Я вижу, что q значение отправляется в браузере Информация о сети, НО как-то похоже, что POST перенаправлен на GET из-за объекта 302, перемещенного код состояния. Во многом как там сказано: Возврат перенаправления в ответ на запрос XHR
![enter image description here](https://i.stack.imgur.com/teLWU.gif)
Однако, если я изменю его на data: {'q': 'to some string'}
это работает.
Кроме того, если я изменяю код на GET
(и код в 'page.asp'
соответственно), он также работает:
$.ajax({
type: "GET",
url: 'page.asp?q='+location.href,
success: function(short_link,status){
console.log('short_link = '+short_link);
console.log('status = '+status);
}
});