Ajax Post内容类型:Application / Json阻止请求

时间:2013-04-22 07:38:15

标签: jquery ajax json post content-type

这是我的Ajax请求:

$.ajax({
      url: '',
      type: 'POST',
      data: JSON.stringify({country : jcountry, region : jregion, from : jfrom, to : jto, currency : jcurrency}),
      processData : false,
      Content-Type : 'application/json' ,  
      dataType: 'json',
      success: function() {
      alert("success")
      $.mobile.changePage("menu1.html");
      },
      error: function (xhr, ajaxOptions, thrownError) {
      alert( "Error: " + xhr.status + "\n" +
             "Message: " + xhr.statusText + "\n" +
             "Response: " + xhr.responseText + "\n" + thrownError);
      $.mobile.changePage("menue2.html");
      }
      });

如果我没有精确的内容类型,我再也看不到我对firebug的请求了。 相反,当我添加内容类型时,我可以看到POST请求(错误导致我的URL为false)但在我的标题中,内容类型默认为url编码形式。

我想要的是通过JSON数据发送表单的详细信息。 Thanx为您提供帮助

1 个答案:

答案 0 :(得分:0)

您已将contentType拼错为content-Type

$.ajax({
    url: '',
    type: 'POST',
    data: JSON.stringify({
        country: jcountry,
        region: jregion,
        from: jfrom,
        to: jto,
        currency: jcurrency
    }),
    processData: false,
    ContentType: 'application/json',
    dataType: 'json',
    success: function () {
        alert("success")
        $.mobile.changePage("menu1.html");
    },
    error: function (xhr, ajaxOptions, thrownError) {
        alert("Error: " + xhr.status + "\n" +
            "Message: " + xhr.statusText + "\n" +
            "Response: " + xhr.responseText + "\n" + thrownError);
        $.mobile.changePage("menue2.html");
    }
});