• ajax是怎么发请求的和浏览器发的请求一样吗?cookie


    下午设置cookie时出现了个问题

    用ajax发的post请求php,在php的方法里设置了cookie,然后在浏览器请求的php里打印cookie值但是一直获取不到cookie的值 

    分析:

    1、ajax向php发请求,php里用setcookie是

    告诉这个客户端你来设置cookie,然后值是多少,这和自己一直理解的cookie是本地的才联系起来,之前一直搞不明白php的setcookie怎么把手伸到客户端的,哎,丢人

    2、而且不同的浏览器cookie存储路径是不一样的,看谷歌和猎豹的图

    3、ajax的原理是用XMLHttpRequest 对象或ActiveXObject对象

    这个对象可以

    • 在不重新加载页面的情况下更新网页
    • 在页面已加载后从服务器请求数据
    • 在页面已加载后从服务器接收数据
    • 在后台向服务器发送数据

    具体地址看w3cschool: http://www.w3school.com.cn/xml/xml_http.asp

    所以现在的问题是

    1、ajax得到命令设置cookie和浏览器设置cookie的目录是一样的吗?

    2、XMLHttpRequest 对象发的请求和浏览器发送的请求一样吗?

    目前自己发现的区别:

    浏览器的请求:

    ajax的请求:

    其余的头部信息相同,可以看出最下面的X-Requested-With,cookie里的值不一样,但是PHPSESSID是相同的

    找出的问题是ajax请求的地址是经过thinkphp路由的,另一个是没过路由的

     

    ####更新线

    现在来看,问题是ajax的跨域的原因,图中的origin用到了cors的协议,可以看这篇 https://www.cnblogs.com/efan/p/10397174.html

  • 相关阅读:
    跨域和表单重复
    Socket
    Redis(基本数据类型和使用Java操作Redis)
    初识Git
    SpringCloud一(eureka)
    SpringBoot3(springboot_jdbctemplate以及MyBatis和Dubbo整合)
    SpringBoot2(thymeleaf模板jsp页面和jpa)
    SpringBoot
    SpringBoot小型进销存系统
    MyBatis与SpringBoot整合案例
  • 原文地址:https://www.cnblogs.com/efan/p/5143051.html
Copyright © 2020-2023  润新知