Result of serialize()


Result of serialize()

也许有人可以解释为什么下面的代码会使用backslahes等进行输出。

The Ajax-Call is
$.ajax({
      type: 'POST',
      url: 'system/ajx/form_generator.php?ajx=1',
      data: $('#formstep').serialize(),
      success: function(result){
      $('#formarea').html(result);
      }
  });

Html是

<form id="formstep" action="">
<div class="form-group">
<label class="control-label">Ich suche</label>
<select id="produktgruppe" class="sselect" data-validation-error-msg="Bitte wählen Sie eine Gruppe aus" data-validation="required" name="produktgruppe">
<option></option>
<option value="1"">Büromöbel</option>
<option value="2"">Büro- & Schreibwaren</option>
<option value="3"">Druckerzubehör</option>
<option value="4"">Geschenkartikel</option>
</select>
</div>
</form>

在我的php文件中print_r($_POST)的结果是

1 ) produktgruppe->1'''"

他为什么要加'"

实际上,你的每个选项value属性都有一个额外的",这就是为什么你的代码中会出现奇怪的输出,所以像下面这样删除它们:-

<form id="formstep" action="">
<div class="form-group">
<label class="control-label">Ich suche</label>
<select id="produktgruppe" class="sselect" data-validation-error-msg="Bitte wählen Sie eine Gruppe aus" data-validation="required" name="produktgruppe">
<option></option>
<option value="1">Büromöbel</option><!-- remove extra `"` -->
<option value="2">Büro- & Schreibwaren</option><!-- remove extra `"` -->
<option value="3">Druckerzubehör</option><!-- remove extra `"` -->
<option value="4">Geschenkartikel</option><!-- remove extra `"` -->
</select>
</div>
</form>