如何使用jQuery或纯JavaScript将用户从一个页面重定向到另一个页面?
我正在尝试将浏览器定向到其他页面.如果我想要一个GET请求,我可能会说
document.location.href = 'http://example.com/q=a';
Run Code Online (Sandbox Code Playgroud)
但是我试图访问的资源不会正常响应,除非我使用POST请求.如果这不是动态生成的,我可能会使用HTML
<form action="http://example.com/" method="POST">
<input type="hidden" name="q" value="a">
</form>
Run Code Online (Sandbox Code Playgroud)
然后我只需从DOM提交表单.
但实际上我想要允许我说的JavaScript代码
post_to_url('http://example.com/', {'q':'a'});
Run Code Online (Sandbox Code Playgroud)
什么是最好的跨浏览器实现?
编辑
对不起,我不清楚.我需要一个改变浏览器位置的解决方案,就像提交表单一样.如果使用XMLHttpRequest可以实现这一点,那就不明显了.这不应该是异步的,也不应该使用XML,所以Ajax不是答案.
基本上我想要做的是POST在我更改时发送数据window.location,就像用户提交了一个表单并进入新页面一样.我需要这样做,因为我需要传递一个隐藏的URL,我不能简单地将它放在URL中作为GET美观的原因.
这就是我目前所拥有的,但它不会发送任何POST数据.
if(user has not voted) {
window.location = 'http://example.com/vote/' + Username;
}
Run Code Online (Sandbox Code Playgroud)
我知道你可以发送POST数据jQuery.post(),但我需要它与新的一起发送window.location.
因此,要回顾一下,我需要发送api_url通过价值POST来http://example.com/vote/,而在同一时间向用户发送到同一页面.
为了将来参考,我最终做了以下事情:
if(user has not voted) {
$('#inset_form').html('<form action="http://example.com/vote/' + Username + '" name="vote" method="post" style="display:none;"><input type="text" name="api_url" value="' + Return_URL + '" /></form>');
document.forms['vote'].submit();
}
Run Code Online (Sandbox Code Playgroud) 有没有办法在jQuery中动态创建和提交表单.
像下面的东西.
<html>
<head>
<title> Title Text Goes Here </title>
<script src="http://code.jquery.com/jquery-1.7.js"></script>
<script>
$(document).ready(function(){alert('hi')});
$('<form/>').attr('action','form2.html').submit();
</script>
</head>
<body>
Content Area
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
这是应该工作还是有不同的方法来做到这一点?
我想知道如何将值从 Jquery 传递到 PHP。我发现了类似的代码,但其中一个都不起作用。每次警报都会显示变量的值,但是当我打开站点时却没有。Var_dump 显示 $_POST 为空。我的想法用完了你有什么吗?
jQuery代码:
$("#password-button").click(function(){
var password="";
var numbers =[0,0,0,0,0,0];
for(var i=0;i<=5;i++){
numbers[i] = Math.floor((Math.random() * 25) + 65);
password += String.fromCharCode(numbers[i]);
}
$(".LoginError").text("Nowe haslo: " + password);
$.ajax({
type: 'post',
url: 'dzialaj.php',
data: {'password': password},
cache:false,
success: function(data)
{
alert(data);
console.log(result)
console.log(result.status);
}
});
});
Run Code Online (Sandbox Code Playgroud)
PHP:
if(isset($_POST['password'])){
$temp = $_POST['password'];
echo $temp;
}
Run Code Online (Sandbox Code Playgroud)