【问题标题】:Parse serialized form data from jQuery in PHP在 PHP 中解析来自 jQuery 的序列化表单数据
【发布时间】:2015-12-01 16:09:30
【问题描述】:

我在提交时使用 jQuery 序列化表单数据。我有这种形式的数据:

address1=1+Station+Circle&address2=&address3=&town_city=Pittsburg
&zipcode=02113&subentity=Buyster+AUS&general_location=&contact=Vince+Seiser
&phone=349-502-7267&fax=617-532-6800&email=dev%40something.com&selectbox1=1

我正在尝试使用 parse_str 在 PHP 中解析它,但它不起作用。还有其他方法吗?

【问题讨论】:

  • 显示您如何发送该数据 (js) 并尝试检索它 (php)。
  • 这些&address2=&address3=&general_location=没有值,为它们添加一些值或删除它们
  • 将值设置为 ` 是一个值...在 PHP 中,&var1=&var2...表示 var1 已设置,但为空...存在且为空可能很重要,甚至是其中的一部分逻辑
  • 显示您的代码,包括客户端和服务器端。告诉我们您的代码中的哪些行为与您的预期不同。如果您从客户端正确传递查询字符串,您可能不必在服务器端手动使用parse_str()

标签: php jquery serialization


【解决方案1】:

【讨论】:

    【解决方案2】:

    parse_str 没有返回,您只需访问从字符串解析的变量。

    print $town_city;
    // Pittsburg
    

    parse_str 工作正常,看看下面。

    parse_str($str);
    
    var_dump(get_defined_vars());
    

    这是输出的相关部分。

      ["str"]=>
      string(211) "address=StationCircle&address2=&address3=&town_city=Pittsburg&zipcode=02113&subentity=Buyster+AUS&general_location=&contact=Vince+Seiser&phone=349-502-7267&fax=617-532-6800&email=dev%40something.com&selectbox1=1"
      ["address"]=>
      string(13) "StationCircle"
      ["address2"]=>
      string(0) ""
      ["address3"]=>
      string(0) ""
      ["town_city"]=>
      string(9) "Pittsburg"
      ["zipcode"]=>
      string(5) "02113"
      ["subentity"]=>
      string(11) "Buyster AUS"
      ["general_location"]=>
      string(0) ""
      ["contact"]=>
      string(12) "Vince Seiser"
      ["phone"]=>
      string(12) "349-502-7267"
      ["fax"]=>
      string(12) "617-532-6800"
      ["email"]=>
      string(17) "dev@something.com"
      ["selectbox1"]=>
      string(1) "1"
    

    【讨论】:

      猜你喜欢
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 2013-03-21
      • 2011-04-11
      • 2014-07-23
      • 2012-06-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多