zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    Redis设置生存时间或过期时间的相关命令
    .Net Core使用Redis
    Redis的数据类型
    Java集合 使用Collections
    Java集合 使用Iterator
    Java集合 使用Stack
    响应式常用样式汇总
    图片 文字 背景等响应式设置总结
    微信动态聊天工具
    第2章 栅格系统
  • 原文地址:https://www.cnblogs.com/efan/p/5143051.html
Copyright © 2011-2022 走看看