Sat*_*esh 20 javascript jquery post redirect
我已经查询过,并没有弄清楚我发现了什么.有没有办法重定向到使用Javascript或jquery的POST方法给url ?
Ebr*_*owi 39
基于Eugene Naydenov的回答,我最终使用了这个能够填充表单数据,希望对其他人有用:
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' });
Run Code Online (Sandbox Code Playgroud)
Eug*_*nov 15
创建表单,填充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');
Run Code Online (Sandbox Code Playgroud)
jQuery版本(但在这种特殊情况下我更喜欢纯JavaScript):
var redirect = function(url, method) {
$('<form>', {
method: method,
action: url
}).submit();
};
redirect('http://www.example.com', 'post');
Run Code Online (Sandbox Code Playgroud)
这里的想法是将数据发送到服务器,同时将用户重定向到另一个网页,而不使用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>
Run Code Online (Sandbox Code Playgroud)
在PHP中接收此数据:
<pre>
<?php
var_dump($_POST);
?>
</pre>
Run Code Online (Sandbox Code Playgroud)
通过这种方式,用户将被重定向到receive.php,并在POST方法中通知一些数据.
| 归档时间: |
|
| 查看次数: |
65943 次 |
| 最近记录: |