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

一、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.
本笔记整理自慕课网

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,107评论 19 139
  • 1.什么是同源策略 1.要了解同源策略,我们必须先知道源即orgin 以百度页面为例,谷歌浏览器打开控制台:输入l...
    GarenWang阅读 5,344评论 2 8
  • 什么是跨域? 2.) 资源嵌入:、、、等dom标签,还有样式中background:url()、@font-fac...
    电影里的梦i阅读 6,953评论 0 5
  • Ajax 什么是ajax AJAX即“Asynchronous JavaScript and XML”(异步的Ja...
    恰皮阅读 9,561评论 5 48
  • 明天是我的生日。睡觉前,妈妈问我:“明天你想要什么样的礼物?”我说:“我想要做一天不乖的孩子。” 天还没亮,我就睁...
    葱花儿老师阅读 3,630评论 0 1

友情链接更多精彩内容