title: Jquery is changing data during ajax Post... why?
body: <p>I have an object that looks like this:</p>
  
  <pre><code>var data = {
    "to" : "someone@abc.com",
    "attachment" : [{"file": "somefile.jpg"}, {"file": "someOtherFile.jpg"}]
  }
  </code></pre>
  
  <p>Then I post it with $.ajax like this:</p>
  
  <pre><code>$.ajax({
      type: "POST",
      url: "http://myHostHere.com",
      data: data,
      success: function(data){
        console.log("Success...");
      }
  });
  </code></pre>
  
  <p>On my server (Node.js with Express4) the received object comes out looking like this:</p>
  
  <pre><code>{
  "to" : "some@abc.com",
  "attachment[0][file]" : "somefile.jpg",
  "attachment[1][file]" : "someOtherFile.jpg"
  }
  </code></pre>
  
  <p>I have tried setting <code>processData: false</code> on the $.ajax call and that doesn't work.</p>
  
  <p>Why is my "Attachments" node, an array of objects, being converted into these string names on my server? Is Jquery doing this? How do I stop this behavior?</p>
  
  <p>Since "attachments" could be an array of random length I nned to be able to loop over on the server side. </p>
  
  <p>Thanks in advance for any help!</p>