jQuery通过post发送json后,回调函数无法调用的问题

今天在用jQuery向后台接口发送数据时候,发现回调函数一直没有调用。
jQuery代码是这样的

  $.ajax({
    	          url: "http://localhost:9909/field/addField",
    	          type: "POST",
    	          dataType : "json",
    	          data: json,
    	          contentType : 'application/json;charset=UTF-8',
    	          success: function (data) {
    	              alert(data);
    	          }
    	      });

这看着明明是写了回调函数的呀,怎么就没用了呢?
后来各种试验,发现把dataType : "json", 去掉就执行了alert的操作。也就是

  $.ajax({
    	          url: "http://localhost:9909/field/addField",
    	          async: false,//改为同步方式
    	          type: "POST",
    	          data: json,
    	          contentType : 'application/json;charset=UTF-8',
    	          success: function (data) {
    	              alert(data);
    	          }
    	      });

对jQuery发送post请求不是很熟悉,于是查询了一下jQuery中dataType的作用,原来它是接收数据的格式,并不是发送数据的格式。这些算是动了,因为是接收的json格式的数据,所以,也就直接把数据放到了json里,在浏览器打开response里面是有结果的,但是它就不再会调用回调函数了。所以,要想调用回调函数,去掉这个就可以了!

你可能感兴趣的:(jQuery)