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

    1、发生ajax跨域问题的原因:

    (1)浏览器限制;(2)跨域(发出的请求不是本域);(3)XHR(XMLHttpRequest)请求

    2、解决方法:

    (1)给浏览器传置顶的参数,不让浏览器校验;(2)利用JSONP解决

    3、什么是JSONP?

       JSONP是JSON的补充使用方式,不是官方协议,主要利用script标签请求资源可以跨域来解决跨域问题,是一种变通的解决方案。使用JSONP服务器后台是需要做改动的,否则后台还返回json对象前台会报错。

    4、JSONP的弊端:

    (1)服务器需要改动代码支持;

    (2)只支持GET;

    (3)发送到不是XHR请求

    5、普通的ajax请求与JSONP请求的区别:

    (1)普通的ajax请求发出Type是xhr类型,而JSONP发出的Type是script类型,浏览器不会做校验,所以可以解决跨域问题;

    (2)返回类型不同,普通的ajax请求返回的是json对象,而JSONP返回的是js脚本(javascript);

    (3)url:JSONP请求的URL后面自动添加一长串参数。

    6、JSONP实现原理:

      JSONP请求发出时加了callback参数,而后台发现有callback参数就知道这是一个JSONP请求,就会把返回的数据由json变为javascript,而javascript的内容就是一个函数调用。

  • 相关阅读:
    Mysql 数据库高级
    Mysql 数据库
    并发编程
    网络编程
    1113
    1112
    P相遇游戏
    中位数
    PETS
    打暴力程序的正确做法
  • 原文地址:https://www.cnblogs.com/mengyage/p/9271995.html
Copyright © 2011-2022 走看看