zoukankan      html  css  js  c++  java
  • 解决跨域问题

    1.方法一:设置请求头

    创建a工程并编写servlet

     //解决跨域问题
            //方法一:添加请求头
            // 接收数据
            String username=req.getParameter("username");
            System.out.println("接收的数据:"+username);
    
            //响应数据
            resp.getWriter().write("success~");
            //设置请求头
            resp.setHeader("Access-Control-Allow-Origin", "*");

    创建b工程编写一个jsp页面并请求a工程中的servlet

    $(function () {
                $("#button").click(function () {
                    //获取到文本框的值
                    var username=$("#username").val();
                   //发送ajax请求a工程
                    $.ajax({
                        url:"http://www.a.com:8080/a/AServlet",
                        data:{"username":username},
                        type:"POST",
                        success:function (result) {
                            alert(result);
                        },
                        error:function () {
                            alert("系统错误");
                        }
                    })
                })
            })

    2.方法二:使用JSONP方式解决跨越问题

    在a工程中的servlet编写如下

     //方法二:使用JSONP解决跨域问题
            String username=req.getParameter("username");
            System.out.println("接收的数据:"+username);
    
    
            //接收ajax传递的数据
            String jsonpcallback = req.getParameter("jsonpcallback");
            System.out.println(jsonpcallback);
            //响应数据
            String success = JSON.toJSONString("success~");
    
            //2.响应结果
            resp.getWriter().write(jsonpcallback+"("+success+")");

    在b工程中的jsp页面中编写如下

    $(function () {
                $("#button").click(function () {
                    //获取到文本框的值
                    var username=$("#username").val();
                    // //发送ajax请求a工程
                    $.ajax({
                        url:"http://www.a.com:8080/a/AServlet?username="+username,
                        type:"GET",
                        jsonp:"jsonpcallback",  //jsonp回调函数
                        dataType:"JSONP",
                        success:function (result) {
                            alert(result);
                        },
                        error:function () {
                            alert("系统错误");
                        }
    
                    })
                })
            })

    3.方法三:使用HttpClient解决跨域问题

    在a工程中的servlet编写如下

     // 接收数据
            String username=req.getParameter("username");
            System.out.println("接收的数据:"+username);
    
            //响应数据
            resp.getWriter().write("success~");

    在b工程中的jsp页面中编写如下

     $(function(){
                $("#button").click(function () {
                    //获取到文本框的值
                    var username=$("#username").val();
                    //发送Ajax请求www.a.com的A工程
                    $.ajax({
                        url:"BServlet?username="+username,
                        type:"GET",
                        success:function (result) {
                            alert(result);
                        },
                        error:function () {
                            alert('系统错误~')
                        }
                    });
                });
            });
    

      

  • 相关阅读:
    【Sharding-JDBC】配置手册
    【Sharding-JDBC】数据脱敏
    【Sharding-JDBC】分布式事务
    【Sharding-JDBC】编排治理
    【Sharding-JDBC】强制路由
    【Sharding-JDBC】不支持项
    【Sharding-JDBC】读写分离
    【Sharding-JDBC】数据分片
    apache commons configuration
    【Sharding-JDBC】简介
  • 原文地址:https://www.cnblogs.com/szhhhh/p/12269271.html
Copyright © 2011-2022 走看看