2014-11-06 291 views
0

我试图运行post请求来解析json格式数据到页面中。一个示例查询是:POST请求ajax jquery错误

$("#click").click(function() { 
      $.ajax({ 
       type: "POST", 
       url: "http://ut-pc-236:9000/kanye/flow/search", 
       contentType: "application/json;charset=UTF-8", 
       data: { 
         "fromDate":"2011-01-01", 
         "toDate":"2011-03-16T14:35:00Z", 
         "limitTotalFlows":1000, 
         "operator":"AND", 
         "keyValues":[ "J0419:E", "J0410:AMPY", "J1043:BEDFORD" ] 
         }, 
       success: function (data) { 
        console.log(data); 
       } 
      }); 
     }); 

但它给出了错误 - 错误的请求(400)。我猜这应该是一些语法错误,因为get方法工作正常。如果任何人都可以帮助,我会非常感激。谢谢

+1

与请求的明显的问题是,你声称要发送JSON而不是发送JSON ...那是炒作,因为我们不知道什么是服务器端代码是干什么以确定请求是否“好”。 – Quentin 2014-11-06 19:25:09

+0

服务器端正在返回json格式数据 – george 2014-11-06 19:25:35

+0

服务器端正在返回'400 Bad Request'。我在谈论客户端发送的内容。 – Quentin 2014-11-06 19:25:55

回答

1

您没有发送有效的json对象,因为您声称正在使用contentType

JSON.stringify数据:

data: JSON.stringify({ 
    "fromDate":"2011-01-01", 
    "toDate":"2011-03-16T14:35:00Z", 
    "limitTotalFlows":1000, 
    "operator":"AND", 
    "keyValues":[ "J0419:E", "J0410:AMPY", "J1043:BEDFORD" ] 
}), 
+0

除了stringify尝试设置dataType:“json” – Ragnar 2014-11-06 19:26:58

+0

@Ragnar - 覆盖响应的内容类型。应该避免让响应发送正确的内容类型。当响应是错误的请求时它肯定不会有帮助。 – Quentin 2014-11-06 19:35:15

+0

@Quentin注意。 – Jonast92 2014-11-06 19:36:59