我正在处理登录表单。表单字段通过jQuery验证。在jQuery验证之后,控件进入php页面,然后以数组的形式从表中获取值并将其发送回jQuery。
现在问题是我想用数组中的值将用户重定向到新页面。我怎么能这样做?
这是我的jQuery代码:
$.ajax({
type:'POST',
url:baseurl,
data:data1,
success: function (response){
if (response != false)
{
window.location = index.php?u= "+response;
}
}
})
我可以通过post方法发送这些值吗?如何在index.php页面中获取这些值?
答案 0 :(得分:1)
编辑 - 也许,如果你改变方法,它会更好。你想要的是页面中的一个数据数组,你可以在ajax完成后重定向。
所以 - 最好使用php session。
你的控制器 -
class myclass extends CI_Controller {
function myfunction()
{
$data=array(
// set your data array here
);
$this->session->set_userdata($data);
}
}
现在,当ajax运行时,此函数将被执行,数据数组将存储在会话中。
$.ajax({
type:'POST',
url:'<?php echo site_url() ?>myclass/myfunction',
data:data1,
success: function (response){
if (response != false)
{
window.location = '<?php echo site_url() ?>newcontroller/newfunction';
}
}
})
现在,在目标视图中检索它。
print_r($this->session->all_userdata());
/////////////////////////////////////////////// ////////////////////// 编辑结束
对于你所问的,你无法直接实现它,但这并不意味着它无法完成。
你可以通过这个来实现它 -
var url = 'http://example.com/vote/';
var form = $('<form action="' + url + '" method="post">' +
'<input type="text" name="api_url" value="' + Response + '" />' +
'</form>');
$('body').append(form);
$(form).submit();
现在,在index.php上,使用$ _POST来检索此表单发布的值。
答案 1 :(得分:0)
您应该使用绝对URL并在引号之间输入:
window.location = "http://domain.com/index.php?u=" + response[0];