• 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.     }

    后台打印:

  • 相关阅读:
    弃用http改用https的缘故,与密钥的使用,证书意义
    大模型时代的机器人研究
    郴州等保测评中心电话是多少?在哪里?
    Spring源码阅读(spring-framework-5.2.24)
    k8s 1.22 ingress 变化
    Docker-compose
    电脑静态ip地址在哪里找
    什么是SpringBoot自动配置
    vue打包耗时显示插件安装、遇到插件版本不兼容问题以及解决方案
    模块电路选型(1)----电源模块
  • 原文地址:https://blog.csdn.net/airen3339/article/details/133698946