title: jQuery.ajax returns jsonp instead of json
body: <p>I have a simple ajax call like this:</p>
  
  <pre><code>$.ajax({
         url: u, type: "POST", dataType: "json",
         data: data,
         success: function (d) { response($.map(d, function (o) { return { label: o.Text, value: o.Text, id: o.Id} })); }
  });
  </code></pre>
  
  <p>It is part of an tb autocomplete that does not work on only one view. 
  The reason it does not work is that instead of json, it makes jsonp request (by sniffing I saw that it calls passed url with <code>?callback=jQueryxxxxxxxxx</code>), and success function is never called because jquery packs it into anonymous function whose name is passed in callback argument, and server returns standard json (I don't want to use jsonp as it is POST request and NOT cross-domain request). I checked, both current view url and this <code>u</code> for ajax url argument are on <code>http://localhost:8080/myapp/areax/...</code>, so I don't see why jQuery makes JSONP request here.</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>View on which this does not work has url request is made is like this:
  <a href="http://hostname:8080/AreaName/Report/ViewReport" rel="nofollow">http://hostname:8080/AreaName/Report/ViewReport</a>
  and u parameter of ajax is like <em>/AreaName/MyAutoComplete/Search</em>, so complete url to which autocomplete is made is like
  <a href="http://hostname:8080/AreaName/MyAutoComplete/Search?callback=jQuery151013129048690121925_1327065146844" rel="nofollow">http://hostname:8080/AreaName/MyAutoComplete/Search?callback=jQuery151013129048690121925_1327065146844</a></p>
  
  <p>Server's response looks like this:</p>
  
  <pre><code>[{"Id":2,"Text":"001"},{"Id":7,"Text":"002"}]
  </code></pre>
  
  <p>I know it is not jsonp, for that it should be</p>
  
  <pre><code>&lt;script&gt;
   jQuery151013129048690121925_1327065146844([{"Id":2,"Text":"001"},{"Id":7,"Text":"002"}]);
  &lt;/script&gt;
  </code></pre>
  
  <p>But I want to make normal json request, not jsonp.</p>
  
  <p><strong>UPDATE</strong></p>
  
  <p>Weirdest thing of all (I'm starting to think it is a bug in jQUery v1.5.1 which is used on project) is that when I remove <code>dataType: "json"</code>, it makes a normal json request :)</p>
  
  <p>So, instead of how to make json request, now I will accept an explanation to why this works as expected (and the one with dataType:"json" does not):</p>
  
  <pre><code>$.ajax({
         url: u, type: "POST",
         data: data,
         success: function (d) { response($.map(d, function (o) { return { label: o.Text, value: o.Text, id: o.Id} })); }
  });
  </code></pre>