精华内容
下载资源
问答
  • ajax跨域请求

    2015-12-09 19:42:26
    ajax跨域请求,jsp页面+后台实例。
  • Ajax跨域请求

    2019-02-01 11:35:36
    在测试ajax跨域请求,但是数据一开始是获取不到的,原因是:访问的接口是别人写的接口,返回的数据是不支持跨域请求所需要解析的数据的,在跨域请求接口的时候,接口中返回的数据需要是对象类型的。 $(document)....

    在测试ajax跨域请求,但是数据一开始是获取不到的,原因是:访问的接口是别人写的接口,返回的数据是不支持跨域请求所需要解析的数据的,在跨域请求接口的时候,接口中返回的数据需要是对象类型的。

     $(document).ready(function () {
            $("#app").on("click", function () {
                $.ajax({
                    type: "GET",
                    url: "http://127.0.0.1:5000/userInfo/userList",
                    dataType: "jsonp",
                    jsonpCallback: "showData",
                    success: function (data) {
                        // var result = JSON.parse(data);
                        // $("#text").val(result);
                    },
                    error: function (a1, a2, a3) {  //请求失败后返回
                        console.log(a1 + "...." + a2 + "...." + a3);
                    }
                });
            });
        });

    在后端的接口

       @RequestMapping("/userList")
    //    @RequiresPermissions("userInfo:view")//权限管理;
        public String userInfo(HttpServletRequest request, HttpServletResponse response) throws IOException {
            UserInfo info = new UserInfo();
            info.setName("李四");
            info.setPassword("111111");
    
            String callback = request.getParameter("callback");
            //用回调函数名称包裹返回数据,这样,返回数据就作为回调函数的参数传回去了
            String data = "[{'age':123,'name':'1111'}]";
            String data1 = " { 'id': '123', 'courseID' : 'huangt-test', 'title' : '提交作业', 'content' : null  }";
            String quote = JSONParser.quote(data1);
            String result = callback + "(" + quote + ")";
    //        response.getWriter().write(result);
            return result;
        }

     

    展开全文
  • Ajax如何进行跨域请求?这篇文章主要为大家详细介绍了Ajax跨域请求的原理,Ajax怎么样做跨域请求?具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • AJAX跨域请求

    2018-03-26 11:46:10
    Ajax发起JSONP跨域请求我们通过jQuery的JSONP方式可以实现跨域ajax请求,服务端php也需要做出相应的处理,也就是说php这边必须和前端页面按照一定的格式请求和返回数据。示例:前端页面发起JSONP请求:$.ajax({ ...

    Ajax发起JSONP跨域请求

    我们通过jQuery的JSONP方式可以实现跨域ajax请求,服务端php也需要做出相应的处理,也就是说php这边必须和前端页面按照一定的格式请求和返回数据。

    示例:前端页面发起JSONP请求:

    $.ajax({
        type: "get",
        data: "random="+Math.random(),
        url: "http://demo.helloweba.net/phpajax/jsonp.php",
        dataType: "jsonp",
        jsonp: "callback",
        success: function(data) {
          console.log(data);
        },
        error: function() {
          console.log('Request Error.');
        }
    });
    php后端服务代码可以这样写(注意输出返回的格式):
    $data = array(
        'rand' => $_GET['random'],
        'msg' => 'Success'
    );
    echo $_GET['callback'].'('.json_encode($data).')'; 
    
    展开全文
  • ajax 跨域请求

    2017-10-12 13:17:00
    jQuery中ajax处理跨域的两种解决方案 1、jsonp JSONP(JSON with Padding)是JSON的一种”使用模式”,可用于解决主流浏览器的跨域数据访问的问题。 JSONP的原理是动态添加一个<script>标签,而script...

     

    jQuery中ajax处理跨域的两种解决方案

     

    1、jsonp

    JSONP(JSON with Padding)是JSON的一种”使用模式”,可用于解决主流浏览器的跨域数据访问的问题。

    JSONP的原理是动态添加一个<script>标签,而script标签的src属性是没有跨域的限制的。这样说来,这种跨域方式其实与ajax XmlHttpRequest协议无关了。

    实践应用 -- ajax请求代码:

    上述代码,发出的请求地址大概为:http://119.23.129.15:8112/api/basic/AuditStatus?jsonpCallback=jquery111111(jquery111111为随机生成的字符串,不用关心其值)

    ajax发送请求时,需要在客户端注册一个callback(如:jsonpCallback), 然后把callback的名字(如:jquery111111)传给服务器。

    注意:服务端得到callback的数值后,要用jquery111111(...)把将要输出的json内容包括起来,此时,服务器生成 json 数据才能被客户端正确接收。

    也就是说,接口返回的数据,需要拼接上callback的值,上面代码,通过jsonp设置参数名,设置了jsonpCallback

    那么,接口需要接收jsonpCallback的值,并拼接上返回的数据,格式: jsonpCallback+ "("+data+")"

     

    2、CORS跨域资源共享

    这个方案实现起来非常简单,只需由服务器发送一个响应标头即可

    response.setHeader("Access-Control-Allow-Origin","*") 

    “*”号表示允许任何域向我们的服务端提交请求

    也可以设置指定允许访问的域名,如域名 http://www.test2.com 

    response.setHeader("Access-Control-Allow-Origin","http://www.test2.com") 
     
    如图,在服务端设置了一个响应标头允许所有资源访问之后,8968端口也能访问到8112端口的接口了。

     

    对比JSONPCORS

    CORS与JSONP相比,更为先进、方便和可靠。

    JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。

    使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。

    CORS浏览器支持情况:

     

    转载于:https://www.cnblogs.com/ylqf/p/7655647.html

    展开全文
  • AJAX 跨域请求

    2017-04-30 11:45:35
    什么是跨域跨域可以简单的理解为从一个域名访问另一个域名,出于安全考虑,浏览器不允许这么做。...跨域分为跨域和跨子域,如...它实际上是动态创建一个script标签,将请求的URL设置为这个标签的SRC。而非ajax访问。

    什么是跨域:
    跨域可以简单的理解为从一个域名访问另一个域名,出于安全考虑,浏览器不允许这么做。如:localhost/XXX和http://www.baidu.com

    跨域分为跨域和跨子域,如mp3.baidu.com和www.baidu.com

    跨域解决方法

    • JSONP

    JSONP为当下常见的解决方案。它实际上是动态创建一个script标签,将请求的URL设置为这个标签的SRC。而非ajax访问。这种方式需要前端和后端代码都进行相应的修改和实现。不是特别理想。不过目前流行的框架,都封装了JSONP的实现,因此前端无需太大的改动。反而是后台需要多一步实现。

    iframe

    • 列表内容
      iframe也是比较常见的一种。通过动态创建iframe标签并访问url。却没有JSONP好使。
      服务器代由

    • 列表内容

    服务器代由访问:在A域要访问B域不可以,那就在A域的服务器上再加一个后台接口,由A域的JS AJAX访问A域提供的接口,然后后台再去访问B域,再将得到的数据返回给A域前端。这个方法对前端影响不大,后台会麻烦点。

    • postMessage与postMessage跨域、
      postMessage的跨域方法允许来自不同源的脚本采用异步方式进行有限的通信,可以实现跨文本档、多窗口、跨域消息传递。

    想要完成“一个域”与“另一个域”的通信,最少需要两个步骤,其一是发送消息,其二是接收消息。在postMessage的这种跨域方式当中,提供了一个postMessage方法和一个message事件。
    postMessage方法用于发送消息。
    message事件,用于监听是否有消息传递,如果有则执行事件。

    各种跨域方法的对比:
    这里写图片描述

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,103
精华内容 4,441
关键字:

ajax跨域请求