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

  • 相关阅读:
    第一阶段
    堆栈的内容------全局变量(实例变量)---静态变量等等
    this和引用变量的地址值是同一个---------new后面的是构造方法
    引用数据类型的传递,那个值先输出,后面的也同样是同一个值
    基本数据类型的传递,参数传递的是具体的值
    构造方法和构造代码块
    装饰器初识
    Bootstrap框架
    Django ORM那些相关操作
    jQuery
  • 原文地址:https://www.cnblogs.com/efan/p/5143051.html
Copyright © 2011-2022 走看看