当前位置: 首页 > news >正文

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();
        }

    }

后台打印:

相关文章:

  • 学习记忆——数学篇——案例——代数——方程——一元二次方程
  • 文生图3.0:添加背景图片 3个回车```文生图```
  • 京东数据分析平台:2023年8月京东奶粉行业品牌销售排行榜
  • Qt实现 图片处理器PictureEdit
  • Kafka日志索引详解以及生产常见问题分析与总结
  • AdaBoost(上):数据分析 | 数据挖掘 | 十大算法之一
  • 参与现场问题解决总结(Kafka、Hbase)
  • Hibernate验证用户提交对象信息
  • Typescript 综合笔记:解读一个github中的React 网页
  • 国微FPGA培训
  • 云计算:常用系统前端与后端框架
  • 岛屿的数量
  • 【【萌新的SOC学习之AXI接口简介】】
  • thinkphp6 - 超详细使用阿里云短信服务发送验证码功能,TP框架调用对接阿里云短信发验证码(详细示例代码,一键复制开箱即用)
  • 第二证券:汽车产业链股活跃,恒勃股份、博俊科技“20cm”涨停
  • BS EN 12104-2023 软木地砖检测
  • Flutter环境搭建及新建项目
  • 【Git笔记】之Git重命名详解
  • 【OSPF宣告——network命令与多区域配置实验案例】
  • 【Qt】三种方式实现抽奖小游戏
  • 佩斯科夫:俄会考虑30天停火提议,但试图对俄施压无用
  • 乘客被地铁厕所门砸伤,南京地铁:突然坏的,已和乘客沟通处理
  • 蔡达峰:推动食品安全法全面有效实施,为维护人民群众身体健康提供有力法治保障
  • 中国天主教组织发贺电对新教皇当选表示祝贺
  • 美众议院通过法案将“墨西哥湾”更名为“美国湾”
  • 特朗普政府拟终止太空污染研究,马斯克旗下太空公司将受益