如何发布url编码的json数据并获取响应数据?

时间:2017-07-06 08:22:30

标签: javascript jquery ajax rest

我一直在尝试使用以下代码段发布网址编码数据

$.post( "url",{param:"value"},function(data){
   alert("data==="+data);
});

此处的网址是restful API网址 这个不起作用。然后我尝试了$.ajax

$.ajax({
  url:"url",
  type:"POST",
  dataType:"application/json",
  contentType:"application/x-www-form-urlencoded",
  data:$.param( $(param:'value') ),
  success:function(data){
   alert("data==="+data);
  }
});

仍然无法使用demo.html页面获取数据

后来尝试使用PostMan使用相同的配置,并且它与所需的json结果一起正常工作。

2 个答案:

答案 0 :(得分:1)

$ .ajax在传递的对象中有一个success参数。

发送json使用dataType: 'json'。 不需要contentType,真的。

这是您的更新代码:

$.ajax({
  url:"url",
  type:"POST",
  dataType:"json",
  data:{param:'value'},

  success: function( data ) 
  {
   alert("data==="+data);
  }
})

http://api.jquery.com/jquery.ajax/

答案 1 :(得分:0)

您的回调错误,

$.ajax({
  url: "URL",
  type: "POST",
  dataType: "xml/html/script/json", // format for response
  contentType: "application/json", // send as JSON
  data: $.param( $(param:'value') ),

  complete: function(data) {
    //called when complete
    console.log(data);
  },

  success: function(data) {
    //called when successful
    console.log(data);
 },

  error: function(err) {
    //called when there is an error
    console.log(err);
  },
});

这是一个完整的Ajax函数。