ajax发送get请求
异步对象的基本代码模式:(get请求)
创建异步对象
var xhr = new XMLHttpRequest();
设置请求行:
//url通常是一个php文件,可以返回信息
//?给要传到后台的参数,并连接字符串
xhr.open("get",一个url);
xhr.open("get", "./路径?name=jack&age=18&a=99&b=ccc");
设置请求体:
xhr.send(null);
xhr.onreadystatechange = function() {
if (xhr.status == 200 && xhr.readyState==4) {
//获取返回文本
var str=xhr.responseText;
//在什么里显示后台传递过来的数据
xx.value=str;
}
ajax发送post请求
异步对象的基本代码模式:(post请求)
创建异步对象
var xhr = new XMLHttpRequest();
设置请求行:
//?给要传到后台的参数,并连接字符串
xhr.open("post",一个url);
xhr.setRequesHeader("Content-Type","application/x-www-form-urlencoded");
设置请求体:带键值对形式的数据
xhr.send("name=jack&age=18&a=99&b=ccc");
xhr.onreadystatechange = function() {
if (xhr.status == 200 && xhr.readyState==4) {
//获取返回文本
var str=xhr.responseText;
//在什么里显示后台传递过来的数据
xx.value=str;
}
ajax处理json数据
获取json数据格式并处理的方式:【不区分get还是post】
if (xhr.status == 200 && xhr.readyState==4) {
//获取返回文本
var str=xhr.responseText;
//将json文本解析为json对象
var obj=JSON.parse(str);
//在什么显示后台传递过来的数据
xx.value=str;
}
ajax处理xml数据:
获取xml数据格式并处理的方式:
服务器端:
header("Cotent-Type:application/xml;charset=utf-8);
客户端:
if(xhr.status==200&&xhr.readyState==4){
获取返回xml文档对象
var xmlObj=xhr.responseXML;
dom常规操作
var obj1=xmlObj.getElementById("dv");
var obj2=xmlObj.querySelector("#dv2");
var items=xmlObj.querySelectorAll("item");
}
模板引擎:
用户界面与业务数据分离
用于生成特定的网页结构快
渲染数据时,代替拼接字符串操作。
对对象进行遍历,就可以取得
例:
title 对应的值 平凡之路
var key="title";
responseText="<%=" + key + "%>"; 等于 "<%=title%>"
模板:
<script type="text/template" id="navTemp">
引入插件
<script type="template-native.js"></script>
数据结构动态生成
var obj=[{}];
调用模板引擎的函数,返回值为替换之后的动态结构
var html = template(模板id,数据(对象));
var html = template("navTemp",obj);
简介语法:
var data={"name":'jack',"age":18};
<p>{{name}}</p>
<p>{{age}}</p>
var data1=[{"name":'jack',"age":18},{"name":'rose',"age":19}];
此时需要包装为对象:
var obj={"items":data1};
{{each items as value key}}
第一种写法:
<p>{{items[key].name}}</p>
第二种写法:
<p>{{value.age}}</p>
ajax思路:
function ajax(url,type,data,callback);
function ajax(option);
var $={
ajax:function(option){},
get:function(...){},
opst:function(...){}
}