美文网首页从零开始学前端
AJAX全接触(二):PHP、JSON、跨域

AJAX全接触(二):PHP、JSON、跨域

作者: 越IT | 来源:发表于2017-01-23 18:13 被阅读110次

一、PHP

认识PHP

  • PHP是一种创建动态交互性站点的服务器端脚本语言
    PHP开源、免费、应用广泛 【例如】:Facebook、WordPress
  • PHP能够生产动态页面内容
  • PHP能够创建、打开、读取、写入、删除以及关闭服务器上的文件
  • PHP能够接收表单数据
  • PHP能够发送并取回cookies
  • PHP能够添加、删除、修改数据库中的数据
  • 能够限制用户访问网站中的某些页面
    ……
    PHP兼容WEB服务器【例如】:Apache 、IIS
    PHP支持数据库【例如】:MySQL、Oracle、SQL Server

运行PHP

PHP测试页面

  • PHP脚本以<?PHP开头,以?>结尾
  • PHP文件的默认文件扩展名是.php
  • PHP语句以分号结尾(;)

二、JSON基本概念

  • JSON:JavaScript对象表示法(JavaScript Object Notation)
  • JSON:是存储和交换文本信息的语法,类似XML。它采用键值对的方式来组织,易于人们阅读和编写,同时也易于机器解析和生成
  • JSON是独立于语言的,也就是说不管什么语言,都可以解析json,只需要按照json的规则来就行。

JSON与XML比较

  • json的长度和xml格式比起来很短小
  • json读写的速度更快
  • json可以使用JavaScript内建的方法直接进行解析,转换成JavaScript对象,非常方便

JSON语法规则

  • JSON数据的书写格式是:名称/值对。
    名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间用冒号隔开:比如"name":"郭靖"。

  • json的值可以是下面这些类型:
    数字(整数或浮点数),比如123,1.23
    字符串(在双引号中)
    逻辑值(true或false)
    数组(在方括号中)
    对象(在花括号中)
    null

{
  "staff":[
     {"name":"洪七","age":70},
     {"name":"郭靖","age":35},
     {"name":"黄蓉","age":30}
 ]
}

JSON校验工具

http://jsonlint.com/

用jQuery实现Ajax

- jQuery.ajax([settings])

  • type:类型,"POST"或"GET",默认为"GET"
  • url:发送请求的地址
  • data:是一个对象,连同请求发送到服务器的数据
  • dataType:预期服务器返回的数据类型。如果不指定,jQuery将自动根据HTTP包MIME信息来智能判断,一般我们采用json格式,可以设置为"json"
  • success:是一个方法,请求成功后的回调函数。传入返回后的数据,以及包含成功代码的字符串
  • error:是一个方法,请求失败时调用此函数。传入XMLHttpRequest对象

【补充】不用下载,引用在线的JQ库。
<script src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.js"></script>

三、跨域

  • 一个域名地址的组成:

处理跨域方法一——代理

-比如在北京的web服务器的后台
www.beijing.com/proxy-shanghaiservice.php)来调用上海服务器
(www.shanghai.com/service.php)的服务,然后再把响应结果返回给前端,这样前端调用北京同域名的服务就和调用上海的服务效果相同了。

处理快递方法二——JSONP

  • JSONP可用于解决主流浏览器的跨域数据访问的问题。


处理跨域办法三——XHR2

  • HTML5提供的XMLHttpRequest Level2已经实现了跨域访问以及其他的一些新功能
  • IE10以下的版本都不支持
  • 在服务器端做一些小小的改造即可:
    header('Access-Control-Allow-Origin:*');
    header('Access-Control-Allow-Methods:POST,GET');

end.
本笔记整理自慕课网

相关文章

网友评论

    本文标题:AJAX全接触(二):PHP、JSON、跨域

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