主页 > 软件开发  > 

Ajax跨域访问,访问成功但一直走error不走success的的问题解决

Ajax跨域访问,访问成功但一直走error不走success的的问题解决

Ajax跨域访问,访问成功但一直走error不走success的的问题解决

通过搜索各种资料,终于解决啦,废话不多说了,还是老规矩直接上代码:

我这里用了jsonp,有想了解的点击 : jsonp

前端代码:

  $.ajax({                     type:'post',                     url:'http://171125dv96.iask.in/weiqing_manage/Package.json',                     dataType:'jsonp',                     jsonp:'callback',                     data:{phone:18865920808, type:'0'},                     jsonpCallback:"successCallback",                     success:function(data){                         alert("成功!success");                         alert(data.name);                     },                     error:function(XMLHttpRequest, textStatus, errorThrown){                         alert("失败!error");                         alert(XMLHttpRequest.status);                         alert(XMLHttpRequest.readyState);                         alert(textStatus);                     }                 });                 /*                 *回调名successCallback可以自定义,必须和后台响应的名                 *对应                 *                 *如果XMLHttpRequest.status打印值为200                 *XMLHttpRequest.readyState为4                 *textStatus为parsererror                 *                 *parsererror:解析错误                 *由parsererror可以看出应该就是后台返回的数据格式有问题                 *了                 */

后台代码:

@Override     protected void doPost(HttpServletRequest request, HttpServletResponse response)             throws ServletException, IOException {         response.setContentType("text/json;charset=UTF-8");         request.setCharacterEncoding("UTF-8");         PrintWriter out = response.getWriter();         String TELPHONE = request.getParameter("phone");         String TYPE = request.getParameter("type");         System.out.println("------------------------------------------");         System.out.println("telphone: " + TELPHONE);         System.out.println("type: " + TYPE);         try {             Package p = new Package();             Gson gson = new Gson();             String st = " 手机号:"+TELPHONE+",type:"+TYPE;             System.out.println("111111111111111111111");             p.setName(st);             System.out.println(" 测试: " + gson.toJson(p));             out.print("successCallback(" + gson.toJson(p) + ")");//尤其注意这里返回的数据格式: {"name":" 手机号:18865920808,type:0"}             /*             *因为Jsonp的返回类型:回调函数名+(+json+)             *             */         } catch (Exception e) {             e.printStackTrace();         } finally {             out.flush();             out.close();         }     }

后台打印:

标签:

Ajax跨域访问,访问成功但一直走error不走success的的问题解决由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Ajax跨域访问,访问成功但一直走error不走success的的问题解决