Я запросил и не понял, что нашел. Есть ли способ перенаправления для предоставления URL-адреса с помощью метода POST с использованием Javascript или jquery?Как перенаправить метод «POST» с помощью Javascript?
ответ
Невозможно сделать это.
Даже a a
элемент Sstrikes GET
.
Что вы можете сделать, это сделать запрос Ajax для отправки и в on-success
использовать window.open()
.
Создайте форму, заполните method
и action
атрибуты, отправьте форму.
var redirect = function(url, method) {
var form = document.createElement('form');
form.method = method;
form.action = url;
form.submit();
};
redirect('http://www.example.com', 'post');
JQuery версия (но я бы предпочел чистый JavaScript в данном конкретном случае):
var redirect = function(url, method) {
$('<form>', {
method: method,
action: url
}).submit();
};
redirect('http://www.example.com', 'post');
Это не сработает, если этот метод является другим доменом. Однако, если вы вставляете его в документ, он будет работать. – scruffian
Конечно. То же, что и в любой форме. Просто из-за политики того же происхождения (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy). –
Мне пришлось добавить это, чтобы отправить работу: $ ('body'). Append (form); – NiBE
На самом деле есть трюк. Вы можете создать скрытую форму и вызвать кнопку отправки, с JQuery, например:
<form method="POST" action="newurl.html" id="myform">
</form>
и сделать
$('#myform').submit();
Я предлагаю вам использовать версию не-JQuery, отправленный Евгений Найденов
Обратите внимание, что это не требует jQuery, если вы меняете '$ ('# myform'). Submit()' to 'document.querySelector ('# myform'). Submit()'. – Salis
Я думаю, вы должны построить и заполнить скрытый метод = POST действие = «YOUR_URL» форму и отправить его,
Попробуйте это:
var url = 'http://example.com/vote/' + Username;
var form = $('<form action="' + url + '" method="post">' +
'<input type="text" name="api_url" value="' + Return_URL + '" />' +
'</form>');
$('body').append(form);
$(form).submit();
Вы можете использовать сериализовать форму и все данные в сообщении. Ниже приведен пример.
$("#submit_btn").click(function(){
$('.error_status').html();
if($("form#frm_message_board").valid())
{
$.ajax({
type: "POST",
url: "<?php echo site_url('message_board/add');?>",
data: $('#frm_message_board').serialize(),
success: function(msg) {
var msg = $.parseJSON(msg);
if(msg.success=='yes')
{
return true;
}
else
{
alert('Server error');
return false;
}
}
});
}
return false;
});
Вот идея для отправки данных на сервер, а перенаправлять пользователя на другую веб-страницу без использования метода GET и поддержания косметического вида на ваш URL. Итак, мы будем использовать ту же процедуру отправки формы с методом POST.
HTML код/Javascript для создания формы и отправки его на сервер:
<html>
<body>
<script>
var form = document.createElement("form");
form.method = 'post';
form.action = 'receive.php';
var input = document.createElement('input');
input.type = "text";
input.name = "data";
input.value = "this is the data I'm sending to server through POST";
form.appendChild(input);
form.submit();
</script>
<body>
<html>
Получение этих данных в PHP:
<pre>
<?php
var_dump($_POST);
?>
</pre>
Таким образом, пользователи будут перенаправляться на receive.php с некоторыми данными, сообщаемыми в методе POST.
Использование JQuery размещать данные и перенаправить в нужное место так:
$.ajax({
type: 'POST',
url: 'receivedata.asp',
data: 'formValue=someValue',
success: function(data){
window.location = data;
}
});
Вы можете удалить данные: «formValue = SomeValue», если нет никаких данных, чтобы перейти на страницу, которую вы хотите опубликовать в.
да ... использовать AJAX Jquery:
> $.ajax({
> type: "POST",
> url: "www.example.com/the_page_I_post_to.php",
> data: $('yourform').serialize(),//sent data
> success: function(msg) {
> alert("posted !");
> }
JQuery $ .ajax фактически не перенаправляет. Он отправляет XHR в фоновом режиме. Ответ, отправленный @Fernando, работает лучше всего в соответствии с тем, что было задано. –
На основании ответа Eugene Naydenov «s, я в конечном итоге с помощью этого, который способен заполнить данные формы и, надеемся быть полезными для других:
function redirectPost(url, data) {
var form = document.createElement('form');
document.body.appendChild(form);
form.method = 'post';
form.action = url;
for (var name in data) {
var input = document.createElement('input');
input.type = 'hidden';
input.name = name;
input.value = data[name];
form.appendChild(input);
}
form.submit();
}
// redirectPost('http://www.example.com', { text: 'text\n\ntext' });
Это лучший ответ, поскольку он учитывает отправку данных с помощью метода POST, поэтому вы хотите использовать перенаправление метода POST, иначе вы будете использовать GET. – Deanie
Возможно, вам придется добавить 'document.body.appendChild (form);' к этому (например, перед 'form.submit()'), поскольку спецификация HTML не позволяет формам, которые не связаны с документом, быть представленным. См. [Этот ответ] (https://stackoverflow.com/a/42081856) для получения дополнительной информации. –
Спасибо, сделано. –
Перенаправление с POST вары (на JQuery)
var redirect = 'http://www.website.com/page?id=23231';
$.redirectPost(redirect, {x: 'example', y: 'abc'});
$.extend(
{
redirectPost: function(location, args)
{
var form = '';
$.each(args, function(key, value) {
form += '<input type="hidden" name="'+key+'" value="'+value+'">';
});
$('<form action="'+location+'" method="POST">'+form+'</form>').submit();
}
});
- 1. Как перенаправить метод POST внутри jQuery
- 2. Как перенаправить ASP.NET MVC с помощью POST?
- 3. Как перенаправить с контроллера на другой контроллер на метод POST?
- 4. Как я могу перенаправить с помощью метода «POST» по умолчаниюRedirectStrategy?
- 5. Angular2 перенаправить с помощью JavaScript?
- 6. Пытаться перенаправить с помощью javascript
- 7. Загрузить вид или перенаправить метод POST
- 8. Как перенаправить родительскую страницу с помощью javascript
- 9. Как перенаправить страницу с помощью javascript?
- 10. Как перенаправить страницу с помощью javascript
- 11. Как перенаправить onKeyPress с помощью Javascript?
- 12. Как проверить метод POST с помощью Mockito
- 13. Как перенаправить в JQuery с помощью POST вместо GET
- 14. Как перенаправить http POST с urlrewritefilter
- 15. Перенаправить страницу с помощью php вместо javascript
- 16. Как перенаправить на другой сервер в mvc, используя метод post?
- 17. не удается перенаправить с помощью javascript
- 18. Как перенаправить с помощью WebRequest?
- 19. Post форму с помощью Javascript
- 20. Отправка POST с помощью javascript
- 21. Перенаправить данные POST
- 22. как опубликовать сообщение 'post post' с помощью facebook javascript sdk?
- 23. Node.js с экспресс: как перенаправить запрос POST
- 24. Angular2 Как перенаправить на другой компонент с помощью Javascript XMLHttpRequest?
- 25. Как перенаправить в Ajax Post?
- 26. Перенаправить на указанную страницу с помощью JavaScript
- 27. Как перенаправить сайт с Javascript
- 28. Перенаправить страницу с помощью jQuery
- 29. Как отправить метод POST с многочастным запросом с помощью CAMEL
- 30. Как вызвать метод Javascript в webservice с помощью asp.net
вы можете поставить пример? Я не понимаю проблему –