2011-06-02 51 views
1

我用这段代码发送了我的数据(json)以发送ajax请求;reverse serialize()-jquery

var formdata = $("#customForm").serialize(); 

      type: "post", 
      dataType: "json", 
      data: formdata, 

在php文件中,有可能会颠倒序列化吗?

或我需要做的是这样的:$pass = $_POST['pass'];所有领域?

谢谢

回答

1

这听起来像你用你的“或”语句朝着正确的方向前进。数据应该在$ _POST数组中可用,而不需要“反序列化”任何东西。

编辑

尝试命名输入字段,以便它们都进入后变量数组:

<input name="myformdata[first_name]" id="first_name" /> 
<input name="myformdata[last_name]" id="last_name" /> 

然后接线柱阵列中,您可以访问像所有形式的数据:

<?php $form_data_array = $_POST['myformdata']; ?> 
+0

@scott,问题是变量的数量。 – 2011-06-02 02:09:36

+0

命名您的输入字段,以便全部进入一个数组。我将编辑我的帖子作为例子。 – 2011-06-02 02:13:19

+0

我认为这是你想要的。一旦数据在PHP中,您是否希望减少变量的数量?也许我需要澄清一下你需要什么。对困惑感到抱歉。 – 2011-06-02 02:17:38

0

是的。你只需要像$pass = $_POST['pass'] :)。

+0

,但我有二十多个领域......通常为一个,两个或三个变量确定,但二十有点无聊 – 2011-06-02 02:08:47

+0

它总是无聊..但是你可以用'$ _ POST '随时随地变化。 – Tapos 2011-06-02 02:11:12

1

尝试PHP的extract功能:

extract($_POST); 

$_POST = array('var_1' => 1234, 'var_2' => 'another variable'); 

extract($_POST); 

echo $var_1.' '.$var_2; 

输出

1234另一可变

适用于您的情况

extract($ _ POST);

将会导致中存在的任何key => value对被提取到变量中。

就像$pass = $_POST['pass']$_POST数组中的所有变量一样。

说明

extract将导入变量从数组到当前符号表中。

它检查每个键是否有一个有效的变量名。它还检查与符号表中现有变量的冲突。

PHP Docs (extract)

+0

但如果我发送serializeArray();我需要获取php文件中的值。所以你sugest有同样的问题$ _POST = array('var_1'=> $ _POST ['pass']); 。我需要为所有varibales做同样的事情 – 2011-06-02 02:24:16

+0

不,这是一个例子,在你的情况下,你可以简单地执行'extract($ _ POST);' - 没有别的。我用这个例子的目的只是为了向你展示一些可以运行并得到相似结果的代码。 – 2011-06-02 02:25:14

+0

我已经更新了我的答案,希望更清楚地表明 – 2011-06-02 02:29:10