从jQuery向PHP发送数组数据并检索该值

时间:2014-04-01 12:32:01

标签: php jquery ajax

我正在处理登录表单。表单字段通过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页面中获取这些值?

2 个答案:

答案 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];