title: JQuery - Getting rid of %5B%5D in .serialize()
body: <p>I'm using AJAX to submit a serialized form. The data passed on to the <code>action.php</code> ends up containing %5B%5D instead of []. Is there anyway of getting back the [], or will the data be able to be handled the same way (i.e. like arrays) in <code>action.php</code>?</p>
  
  <p>The form is serialized via:</p>
  
  <pre><code>var form_data = $("#form").serialize();
  </code></pre>
  
  <p>Then I send it through <code>$.ajax</code>:</p>
  
  <pre><code>$.ajax({
      type: "POST",
      url: "action.php",
      data: {
          form_data: form_data,
          FrmSubmit: 'SubmitButton'
      },
      cache: true,
      success: function (html) {
  
          $("#show").html(html);
          alert("form success");
      }
  });
  </code></pre>
  
  <p>The ideal data being passed to <code>action.php</code> should be something like: <code>name=JohnSmith&amp;color[]=blue&amp;color[]=yellow&amp;meal[]=chicken&amp;meal[]=fish</code></p>
  
  <p>I am getting instead:
  <code>name=JohnSmith&amp;color%5B%5D=blue&amp;color%5B%5D=yellow&amp;meal%5B%5D=chicken&amp;meal%5B%5D=fish</code></p>
  
  <p><strong>Additional question:</strong>
  I have also tried .param(), but couldn't really make heads or tails of the data received. Every letter ended up being encoded in a key. Could anyone shed light on why this might be?</p>