zoukankan      html  css  js  c++  java
  • json解决ajax跨域的原理

    1. jsonp只能解决GET类型的ajax请求跨域问题
    2. jsonp请求不是ajax请求,而是一般的get请求
    3. 基本原理
      •   浏览器端:
        1.   动态生成<script>来请求后台接口(src就是接口的url)
        2.   定义好用于接受响应数据的函数(fn),并将函数名通过请求参数提交给后台(如:callback=fn)
      •   服务器端
        1.   接收到的请求处理产生结果数据后,返回一个函数调用的js代码,并将结果数据作为实参传入函数调用
      •   浏览器端
        1.   收到响应自动执行函数调用的js代码,也就是执行了提前定义好的回调函数,并得到了需要的结果数据
    /* 
    jsonp请求的接口请求函数
    */
      import jsonp from 'jsonp'
      import { message } from 'antd'
    
    export const reqWeather= (city)=>{
    
        return new Promise((resolve,reject) => {
            const url = `http://wthrcdn.etouch.cn/weather_mini?city=${city}`
            //发送jsonp请求
            jsonp(url,{},(err,data) =>{
                console.log('json()',err,data)
                //如果成功了
                if(!err&&data.status===1000){
                    const {date,type} = data.data.forecast[0]
                    resolve({date,type})
                }else{
                //如果失败了
                    message.error('获取天气信息失败')
                }
                
            })
        })
        
    }
    //reqWeather('武汉')
  • 相关阅读:
    .NET技术对软件行业的积极作用
    ADO.NET Entityframework MYSQL provider
    用杯子量水问题通用解法
    详解.NET异步
    说 框架、架构、模式、重构
    谈 三层结构与MVC模式的区别
    面试题一例分享
    LINQ notes2 lambda expression
    毕业论文B.3 DTW算法
    LINQ notes1 intro
  • 原文地址:https://www.cnblogs.com/tommymarc/p/12063507.html
Copyright © 2011-2022 走看看