跨域问题

  1.跨域:不再同一服务器下,就是协议,域名,端口,有一个不一样;

  浏览器对于javascript的同源策略的限制;

  案例:

    以 http://172.164.23:8088/  为例

    相同域名:172.164.13  (也称为ip地址)

    相同端口::8088      (端口);

    相同协议:http      

  互联网的协议目前就两种  http和https

  2.同源策略

  请求的地址和浏览器的地址必须在同域下,就是说协议,端口,域名都得一样,否则就会报同源策略的错误;

  access同源策略的报错;

  浏览器的环境和服务器的环境,不再同一环境内;

  解决跨域问题:

    靠标签身上的src属性,解决跨域问题;

    利用script标签的src属性去请求外部的数据,前提条件,别人让你跨域;

  如何看别人提供的接口;

    现在开头有没有wd,如果有再看里面有没有你搜的关键字,如果有,在看里面的cb,如果都有,就是接口

  看网络地址的关键单词:cb(百度的接口)  callback(360的接口);

  1.自己提供接口的

  写的顺序,先处理数据;(回调数据中的函数名)

  在通过script中的src属性,去链接到自己的接口;(自己写的数据只用一个函数名包着,便于回调)

  2.别人提供的接口:

  写的顺序,先处理数据  (回调数据中的函数名)

  在通过script中的src属性,去 链接到别人的接口;(并将cb后面别人的的函数名,改为自己要处理数据的函数名,便于回调)

  3.dom创建的方式;

  var script=document.createElement("script");

  script.src="网络地址"     (并将cb后面别人的的函数名,改为自己要处理数据的函数名,便于回调)

  document.body.appendChild(script)

  写函数处理数据   (cb后面的函数名)

  jQuery中的Ajax

  load()  将服务器加载数据,放在指定的元素中;

  $("a").load()  参数一:url地址  参数二:{name:"cui"}  传入的数据

  php中当不知道用get或post来接收数据的话,用REQUEST

  使用情景:当一个网站有许多页面,但头部和尾部都以往,都可以使用load;

  load是以post方式发送的php后台用post接受或以REQUEST接受;

  php是一门后台语言,不能直接用浏览器打开

  因为浏览器不是他的环境;

  apache是php的环境,js的环境是node,我们用的phpstudy,这个集成的环境;

  只需要把php文件放在apache中的根目录www文件就行了;

  php语法规则:

    每个语句后面一定要加;

    输出语句echo

    必须通过网络地址打开,浏览器是他的载体,不能用浏览器直接就打开了,通过网络地址才可以;

  get/post  接受前台提供的参数

  通过8088找到的都是后台的东西;

  www根目录,提供一种相对路径;

  www提供的相对空间,里面的文件都是相对访问,

  需要什么在网络地址中输什么;

  想要了解php,一定要先转换思维;

  后台思维;

  前台思维:加载网页从上到下逐个加载,一个dom一个dom的加载,要注意,link,script,img,iframe等带有href属性和src属性的标签,这些属性相当于Ajax,又去服务端去  寻找对象的资源,

  www的相对路径,很重要,不然所有的文件都是独立的个体;

  IDE  继承的环境(俗称:编辑器)

  php语法:

  只要写php文件中都可以嵌套html标签,但是html标签里面不可以出现php写法

  所有的php脚本都以<?php为开头  以?>结尾    中间写内容;

  php的拓展名为  .php;

  php中的每行代码写完之后一定要加分号,不然的话会报错;

  php的输出语句为  echo和print;

  php的注释  单行注释//  多行注释/*  */

  变量:

  php中的变量靠$加变量名;

  变量的命名规则:

    1.不能用汉字

    2.不能用数字

    3.不能用特殊符号

    4.区分大小写

  驼峰命名法:nameAge

  匈牙利命名法:_.name

  案例:

    $name="zhangsan";

    echo $name;

  要在服务器中打开;

  php是弱类型语言;

  变量声明,无需指定数据类型  (数据类型由赋予他的值来决定)

  php中没有对象  就是{}这种写法

  int a=12;(这就是强类型语言)  声明一个整型值为12;

  作用域:

    全局作用域:函数外定义的变量

    局部:函数内定义的变量

  正常环境下,不管全局或局部变量二者都不可以相互访问

  全局的global关键字,用于函数内部访问全局变量;

  函数内需要访问的全局变量,需要在变量前在global关键字

  局部变量的优势,也是劣势:随着函数调用结果内存会被销毁

  如果需要保存局部变量的内存不被销毁,变量前面在static关键字

  php的数据类型:

  string  int(整形)  float(浮点型)  boolean  array  object  null  7个

  对象:

  案例:

    class dog{

      $name="gougou";

      function fn(){}  方法

    }

  $_GET  数组  前台的数据都存在数组中;

  =>  键值对的意思

  jQuery中数据传参

  $.get("url",{name:"zhang"},function(data){

    console.log(data)

  })

  $.post("url",{name:"lisi"},function(data){

    console.log(data)

  })

  $.ajax({

    type:"get",

    url:"01.php",

    async:true,

    data:{name:"lisi"},

    success:function(data){

      console.log(data)

    }

  })

  jQuery中Ajax的跨域问题

  jsonp  跨域问题  回调函数的字符串;

  jsonpcallback:跟的是cb后面的函数主要是自己写;

posted @ 2019-03-13 19:12  枯桑  阅读(243)  评论(0编辑  收藏  举报