zoukankan      html  css  js  c++  java
  • ajax--跨域问题及三种简单的解决方案

    什么是跨域?

    地址不同,不能相互的去访问资源。

     http:// www.bailiban.com : 8888 /img/01.jpg?name=jack
     协议  子域名    主域名      端口号 请求的资源路径
     协议,子域名,主域名,端口号,只要有一个不同就是跨域,资源就不能通过ajax进行访问

    解决跨域的三种简单方法:

    1.代理服务器

    用一个新的服务器把需要使用的代码都放在一起就可以正常访问。

    2.设置请求头

    在PHP页面中添加如下代码:

    header("Access-Control-Allow-Origin: *"); //域名
    header(
    "Access-Control-Allow-Method: POST,GET"); //传递方式

    3.jsonp

    3.1什么是jsonp:

    jsonp是一种数据传输的方式或者说非强制性的协议

    3.2jsonp和ajax的实质:

    ajax的核心是通过xmlHttpRequest获取非本页内容

    jsonp的核心是动态添加script标签调用服务器提供的js脚本

    3.3jsonp使用注意:

    只能传递 通过GET 方式传递的数据

    3.4jsonp使用代码:

    js版:

    function addScript(src){
        var script = document.createElement("script");
        script.src = src;
        document.body.appendChild(script);
    }

    jQuery版:

    $.ajax({
         type: "GET",
         url: "http://192.168.9.154:3000/jsonp",
         dataType: "jsonp",
         success: function(data){
         console.log(data)
         }
    });
  • 相关阅读:
    node.js中的全局变量——global
    Element-UI库 源码架构浅析
    如何搭建一个自己cli
    webpack实践之DLLPlugin 和 DLLReferencePlugin
    HappyPack优化
    线程和进程
    kafka?kafaka! kafka...
    Dubbo的初步理解和使用
    Redis的安装和启动
    解析Spring MVC上传文件
  • 原文地址:https://www.cnblogs.com/ddjps/p/10415052.html
Copyright © 2011-2022 走看看