天天看点

解决AJAX返回状态200没有调用success方法的问题

问题

ajax请求,状态为200,可是却没有执行success方法。

$.ajax({
   	url:'/cjgettoken',
   	type:'POST',
  	dataType: 'json',
    data:{},
    success:function(res){
     	alert('success');
     	console.log(res);
     }
})
           

原因

后台返回的是string,而非json, 而dataType指定了默认接收的数据类型为json,所以无法执行success函数。(返回的数据格式和指定接收的数据格式不统一)

解决方法

不指定接收的数据类型,即把dataType去掉

$.ajax({
   	url:'/cjgettoken',
   	type:'POST',
// 	dataType: 'json',    //dataType删除即可
    data:{},
    success:function(res){
     	alert('success');
     	console.log(res);
     }
})