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


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

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

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

    前端代码:

    1.   $.ajax({
    2.                     type:'post',
    3.                     url:'http://171125dv96.iask.in/weiqing_manage/Package.json',
    4.                     dataType:'jsonp',
    5.                     jsonp:'callback',
    6.                     data:{phone:18865920808, type:'0'},
    7.                     jsonpCallback:"successCallback",
    8.                     success:function(data){
    9.                         alert("成功!success");
    10.                         alert(data.name);
    11.                     },
    12.                     error:function(XMLHttpRequest, textStatus, errorThrown){
    13.                         alert("失败!error");
    14.                         alert(XMLHttpRequest.status);
    15.                         alert(XMLHttpRequest.readyState);
    16.                         alert(textStatus);
    17.                     }
    18.                 });
    19.                 /*
    20.                 *回调名successCallback可以自定义,必须和后台响应的名
    21.                 *对应
    22.                 *
    23.                 *如果XMLHttpRequest.status打印值为200
    24.                 *XMLHttpRequest.readyState为4
    25.                 *textStatus为parsererror
    26.                 *
    27.                 *parsererror:解析错误
    28.                 *由parsererror可以看出应该就是后台返回的数据格式有问题
    29.                 *了
    30.                 */

    后台代码:

    1. @Override
    2.     protected void doPost(HttpServletRequest request, HttpServletResponse response)
    3.             throws ServletException, IOException {
    4.         response.setContentType("text/json;charset=UTF-8");
    5.         request.setCharacterEncoding("UTF-8");
    6.         PrintWriter out = response.getWriter();
    7.         String TELPHONE = request.getParameter("phone");
    8.         String TYPE = request.getParameter("type");
    9.         System.out.println("------------------------------------------");
    10.         System.out.println("telphone: " + TELPHONE);
    11.         System.out.println("type: " + TYPE);
    12.         try {
    13.             Package p = new Package();
    14.             Gson gson = new Gson();
    15.             String st = " 手机号:"+TELPHONE+",type:"+TYPE;
    16.             System.out.println("111111111111111111111");
    17.             p.setName(st);
    18.             System.out.println(" 测试: " + gson.toJson(p));
    19.             out.print("successCallback(" + gson.toJson(p) + ")");//尤其注意这里返回的数据格式: {"name":" 手机号:18865920808,type:0"}
    20.             /*
    21.             *因为Jsonp的返回类型:回调函数名+(+json+)
    22.             *
    23.             */
    24.         } catch (Exception e) {
    25.             e.printStackTrace();
    26.         } finally {
    27.             out.flush();
    28.             out.close();
    29.         }
    30.     }

    后台打印:

  • 相关阅读:
    android——自定义控件(编辑框)、悬浮窗
    OpenGauss的TPCE测试
    c语言 static
    cartographer-(0)-ubuntu(20.04)-环境安装
    Curve 文件存储随着存量数据增长
    Matlab论文插图绘制模板第111期—带线标记的图
    TypeScripe笔记:any、unknown、never、void、null 和 undefined 及其比较
    clickonce 程序发布到ftp在使用cnd 加速https 支持下载,会不会报错
    VBA技术资料MF83:将Word文档批量另存为PDF文件
    深入理解磁盘阵列(RAID)和逻辑卷管理(LVM)技术及应用指南
  • 原文地址:https://blog.csdn.net/airen3339/article/details/133698946