如何使用jQuery和PHP
我试图找出如何我的形式VAR的传递给anothe网页..如何使用jQuery和PHP
var login = $('#login').val();
var pass = $('#pass').val();
var data = {
login: login,
pass: pass
};
$.ajax({
type: "POST",
data: data,
url: "page_2.php",
success: function(data)
{
document.location.href = url;
}
});
它不会发布新的页面都无功的传递到另一个页面。在page_2.php我:
<?php
$error = false;
if (isset($_REQUEST))
{
extract($_REQUEST);
print_r($_REQUEST);
}
// else
// {
// header("location:page_1.php");
// }
?>
我搜索谷歌2天,没有运气上通过jQuery/AJAX/PHP发布VAR的另一页的例子..谁能帮助或点我一个链接可以吗?
非常感谢!
的url
变量是不知道的success
回调函数...
尝试提醒的东西alert(data);
成功函数内,看它是否被调用..
这是我最后一次尝试..我尝试使用document.location.href =“./page_2。php“; – Dennis 2010-10-09 21:04:02
试过了”alert(data);并得到了阵列 ( [登录] => [email protected] [通] => testpass [__utma] => 184037297.1763131186.1271628080.1273616918.1275392275.3 [__utmz] => 184037297.1271628080.1.1.utmcsr =(直接)| utmccn =(直接)| utmcmd =(无) [__unam] => 8a516e-128897be867-32a12505-2 ) 因此,它正在发送到页面,但是当它重定向时,它不会发送。 – Dennis 2010-10-09 21:15:40
当页面加载中,提取物($ _ REQUEST)只有阵列 2( 3 [__utma] => 184037297.1763131186.1271628080.1273616918.1275392275.3 4 [__utmz] => 184037297.1271628080.1.1.utmcsr =(直接)| utmccn =(直接)| utmcmd = (none) 5 [__unam] => 8a516e-128897be86 7-32a12505-2 6) – Dennis 2010-10-09 21:16:42
丹尼斯,
后提交一个表单,如果你想让用户访问使用新数据的页面,你不想使用Ajax。只需将<form>
上的“动作”属性设置为“page_2.php”即可。这种情况你甚至不需要Javascript。
<form method="post" action="page_2.php">
<!-- your form fields go here -->
</form>
如果做需要在未来使用Ajax,我有几个建议。运行Firebug(适用于Firefox)或Webkit的开发工具(适用于Safari或Chrome)来检查发送的Ajax请求,以及是否出现故障。你有正确的想法,但是你的数据可能永远不会变成page_2(例如,错误的URL,其他地方的Javascript错误,以防止运行$ .ajax等)。
简化您的Ajax提交使用jQuery.post()
。将其与jQuery.serialize()
结合起来,为您收集所有表单数据,并将其绑定为您的<form>
的提交处理程序。例如:
$('form').submit(function() {
var url = 'page_2.php';
$.post(url, $(this).serialize(), function(data) {
console.log("Success!\nData: " + data);
});
return false;
});
在PHP端,您有正确的想法。我建议使用$_POST
而不是$_REQUEST
来减少CSRF的可能性。
对于'$ _POST' – Gutzofter 2010-10-10 04:00:10
@Dennis -
督察,你正试图从一个网页保存状态下在第二页上使用。
正确的做法是通过表单提交发布数据。你可以用ajax请求来完成,但是你在代码中添加了不需要的复杂性。当您需要将数据传递到服务器时,请使用AJAX,但希望保留在同一页面上。
关注Blackcoat的推荐。 表格提交
请记住,如果你只有一把锤子,那么你将会打包包括你的拇指在内的所有东西。总是先用简单的解决方案。
无论如何,当您在成功回调中更改页面的URL时,为什么要使用Ajax?为什么不使用简单的表单? – 2010-10-09 20:41:02