title: Ajax post zero to controller
body: <p>I'm trying to <code>POST</code> an int with <code>Ajax</code> to my controller</p>
  <p><strong>Js</strong></p>
  <pre><code>&lt;script&gt;
      function FillCity() {
          var provinceId = $(provinces).val();
          $.ajax({
              url: &quot;FillCity&quot;,
              type: &quot;POST&quot;,
              data: { id: provinceId },
              dataType: &quot;json&quot;,
              traditional: true,
              contentType: 'application/json; charset=utf-8',
              success: function (data) {
                  $(&quot;#cities&quot;).html(&quot;&quot;); // clear before appending new list
                  $.each(data, function (i, city) {
                      $(&quot;#cities&quot;).append(
                          $('&lt;option&gt;&lt;/option&gt;').val(city.Id).html(city.Name));
                  });
              }
          });
      }
  &lt;/script&gt;
  </code></pre>
  <p>code in my controller :</p>
  <pre class="lang-cs prettyprint-override"><code>[HttpPost]
  public ActionResult FillCity(int id)
  {
      var cities = _context.City.Where(c =&gt; c.ProvinceId == 5);
      return Json(cities);
  }
  </code></pre>
  <p>but it always post 0 as id, I tried digits instead of provinceId, but it rtills send 0</p>