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

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

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

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

前端代码:

javascript 复制代码
  $.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可以看出应该就是后台返回的数据格式有问题
                *了
                */

后台代码:

java 复制代码
@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();
        }

    }

后台打印:

相关推荐
benbenAItalk5 小时前
数字人口播视频的批量生产实践:素材规范、任务编排与质量验收
java·前端·音视频
2601_962885726 小时前
如何用 Python 扫描 A 股跳空缺口并统计缺口回补概率?
java·前端·python
西瓜太郎12346 小时前
Claude Code、Codex CLI、Gemini CLI 能否共用一枚 Key?先看协议选择矩阵
前端·api 网关·claude code·gemini cli·codex cli
多加点辣也没关系6 小时前
JavaScript|第31章:表单与控件
开发语言·javascript·ecmascript
陈随易8 小时前
在Finch用了62亿词元,我认为这是新一代Agent工具之神
前端·人工智能·后端
水域安全老周8 小时前
水趣钓鱼救生衣专利拆解:两级锁紧如何解决落水人衣分离
java·前端·网络
计算机魔术师9 小时前
Anthropic CEO突然喊踩刹车,OpenAI罕见力挺:AI这辆车不能只踩油门了
前端
wing989 小时前
从codex转战workbuddy使用一周的感受
前端·人工智能·后端
Highcharts.js9 小时前
常见报错排雷指南2:导出失败的官方解法
javascript·react.js·ecmascript·highcharts·可视化图表·导出模块失败·导出服务
EatFan9 小时前
Java接入支付宝 JSAPI 支付保姆教程(二):流程讲解与前后端代码讲解
前端·spring boot·后端·微信小程序·小程序·uni-app