如何使用ajax将jQuery Serialize()数据传递到另一个页面

时间:2014-05-17 19:23:29

标签: javascript php jquery ajax

我的表格是 -

<div id="formInfo">
    <form action="">
      <input type="text" name="uname" value="Chris">Name</input>
      <input type="text" name="address" value="NJ">Address</input>
      <input type="text" name="contact" value="123">Contact</input>
      <button id=""type="button" class="GrayButton" onclick="loadXMLDoc()">Proceed</button>
    </form>
</div>

我想序列化此表单的数据并使用使用这些数据的ajax加载另一个页面。

我的ajax脚本看起来像这样 -

 function loadXMLDoc()
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("ShowAddNewProject").innerHTML=xmlhttp.responseText;
        }
      }
    var item= $("form").serialize();
    xmlhttp.open("GET","addprojectp1.php?q="+item,true);
    xmlhttp.send();
    }

在addprojectp1.php中 -

$qn = $_GET['q'];
echo $qn;

点击按钮,我正确移动到addprojectp1.php,但$ qn的值是空格。我期待$qn = uname=Chris&address=NJ&contact=123。不知道我在做什么错。请帮忙。

1 个答案:

答案 0 :(得分:0)

序列化不会为您提供所需的格式。但是,你可以做的是:

$qn = unserialize($_GET['q']);

这样, $ qn 将是一个包含您通过GET请求发送的数据的数组。

然后你可以这样做:

var_dump($qn);

查看数组中数据的格式。