zoukankan      html  css  js  c++  java
  • jsonp跨域请求的方式

    1、jsonp一种请求方式、用于解决一个棘手的问题:

    由于浏览器具有同源策略:即可以通过后台去访问其他网站,而不能通过浏览器(ajax请求)访问其他网页或域(阻止ajax请求,但是无法阻止<script src="">请求,所有带src属性的都不阻止

    巧妙的实现方式:

    创建一个<script>标签,设置它的src属性为需要访问的地址,返回的数据必须是json格式的、只能发get请求

    实现原理:

    在src里面带一个callback=fun参数,参数的值是需要服务端构造的函数来返回。服务端会返回return Httprequest(fun(数据))然后需要在本地script脚本里面加一个fun函数,函数内容可以是function fun(arg){
    console.log(arg)
    }
    这里的arg就是服务端返回的数据,完成后再删掉这个script标签

    实现源码:

    script>
            function getContent(){
                /*
                var xhr = new XMLHttpRequest();
                xhr.open('GET','http://wupeiqi.com:8001/jsonp.html?k1=v1&k2=v2');
                xhr.onreadystatechange = function(){
                    console.log(xhr.responseText);
                };
                xhr.send();
                */
                /*
                var tag = document.createElement('script');
                tag.src = 'http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list&_=1454376870403';
                document.head.appendChild(tag);
                document.head.removeChild(tag);
                */
                $.ajax({
                    url: 'http://www.jxntv.cn/data/jmd-jxtv2.html',
                    type: 'POST',
                    dataType: 'jsonp',
                    jsonp: 'callback',
                    jsonpCallback: 'list'
                })
            }
    
            function list(arg){
                console.log(arg);
            }
    

      更多:https://www.cnblogs.com/wupeiqi/p/5703697.html

  • 相关阅读:
    也用一下Windows Live Writer
    常用16种iOS视图切换动画
    iPad平板电脑程序开发基础规则(源址:http://www.cocoachina.com/bbs/simple/?t82559.html)
    NSXMLParser详解
    UIScrollView用法
    使用UIActivityIndicatorView 和多线程
    为视图加边框
    iPhone SDK开发基础之iPhone程序框架
    NSXMLParser详解(事例)
    iOS开发 小知识点
  • 原文地址:https://www.cnblogs.com/qiangayz/p/9211421.html
Copyright © 2011-2022 走看看