JS-ajax

作者: 这很重要吗 | 来源:发表于2017-05-09 21:09 被阅读0次

    json解析##

    eval不检查数据是否合法
    json.pasrse检查数据是否合法
    在线json格式化校验工具:jsonlint.com

    Paste_Image.png Paste_Image.png

    eval不会执行数据的检查,直接执行alert语句
    JSON.parse()会报错,更加的安全

    Paste_Image.png

    请求方法改进:
    1、服务器端返回JSON字符串:header("Content-Type:application/json;charset=utf-8");

    Paste_Image.png

    2、服务器端所有返回值写成JSON格式;

    Paste_Image.png Paste_Image.png

    3、客户端解析JSON字符串:
    JSON.parse(xhr.responseText)

    Paste_Image.png

    跨域##

    跨域概念###

    javaScript处于安全方面的考虑,不允许跨域调用其他页面的对象。什么是跨域呢,简单地理解就是因为javaScript同源策略的限制,a.com域名下的js无法操作b.com或是c.a.com域名下的对象

    域名地址的组成###

    Paste_Image.png

    除了服务端地址的改变叫做重定向以外,其他几个可变更的参数中任意一个的改变就叫做跨域。


    Paste_Image.png

    HTTP默认访问80端口
    HTTPS默认访问443端口

    处理跨域的几种方法###

    1. 代理(属于后台的技术)###

    Paste_Image.png Paste_Image.png

    2. JSONP###

    JSONP只支持get请求,不支持post请求

    Paste_Image.png

    实现:
    前端
    更改的地方


    Paste_Image.png Paste_Image.png

    服务端
    获取 jsonp

    Paste_Image.png jsonp

    改变返回的值


    jq自动增加了一个参数


    Paste_Image.png

    服务端返回的值

    Paste_Image.png

    重点在于:同源策略 + <script>的src不属于同源策略 + 通过<script>的src指向的文件返回服务器端数据。

    3.XMLHttpRequest Level2###

    所有支持xhr2的服务器都可以实现跨域,只需要去更改服务端

    Paste_Image.png

    可以参考:http://www.cnblogs.com/wangfupeng1988/p/4060747.html
    http://www.cnblogs.com/laneyfu/p/6544452.html

    ie如何实现跨域##

    相关文章

      网友评论

          本文标题:JS-ajax

          本文链接:https://www.haomeiwen.com/subject/sqditxtx.html