前端ajax+php小结

481 阅读2分钟

ajax 

异步JavaScript和XML

作用:

显示新的HTML内容而不用在整个页面(局部刷新技术)

提交一个表单并且立即显示结果 

登录而不用跳转到新的页面 

遍历数据库信息加载更多而不刷新页面

星级评定组件。

以前是使用iframe实现无刷新页面加载效果现在没人用了。

发送ajax的步骤

1、创建XMLHttpRequest对象 let xhr = new XMLHttpRequest();

2、准备发送

3、执行发送动作

4、指定回调函数

let xhr = new XMLHttpRequest();
xhr.open("GET","test.txt",true); 
//xhr.open("method","url",async); async:true(异步)或 false(同步)
xhr.send();  //参数为string 只能用于post请求

function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  });
}

如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。

xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates");

请求方法

get请求参数在url中传递 需要注意编码问题

post请求参数在请求体中传递 需要设置请求头信息 回调函数

xhr.readyState 的几个状态 

0 xhr对象初始化 

 1 执行发送动作 

 2 服务器端数据已经完全返回 

 3 数据正在解析

 4 数据解析完成,可以使用了

xhr.status 返回的状态码

200 数据相应正常

301永久重定向 

404 没有找到资源 

500 服务器端错误

数据格式 xml json responseXML responseText 

document.getElementById("myDiv").innerHTML=xmlhttp.responseText;

以什么数据类型返回

 ajax请求服务器的流程

①:浏览器让xhr去跟服务器要点儿数据

②:浏览器接着干别的事情 

 ③:xhr去向服务器请求数据 

 ④:服务器返回数据给xhr  

⑤:xhr通知浏览器数据回来了

⑥:浏览器收到xhr返回的数据渲染页面

jquery中的ajax 是$.ajax()

跨域解决方案

jsonp

document.domain+iframelocation.hash + iframewindow.name + iframe

window.postMessage 

flash等第三方插件

php 

变量以$开头 字母/数字/下划线 不能以数字开头,大小写敏感。

内容输出

echo :输出简单数据类型,如字符串、数值 

print_r() : 输出复杂数据类型,如数组

var_dump():输出详细信息,如对象数组

php中字符串拼接用.

php中单引号中的变量会被当做普通字符串 

双引号变量会被解析成变量

运算符与js基本一样

数据类型

字符串 整形 浮点型 布尔型 数组 对象 null

预定义变量(表单处理)

$_GET $_POST

分支循环

if/switch 

while

 for 

foreach

函数

自定义函数 

语法规则(函数名不区分大小写)

系统函数

gettype() 

json_encode()