黑马程序员技术交流社区

标题: 无题 [打印本页]

作者: 专资脱发    时间: 2019-5-31 16:13
标题: 无题

jQuery为我们提供了更强大的Ajax封装

$.ajax({}) 可配置方式发起Ajax请求
        *


url 接口地址 *
        *


type 请求方式 *
        *


timeout 请求超时 *
        *


dataType 服务器返回格式 *
        *


data 发送请求数据 *
        *


beforeSend:function () {} 请求发起前调用 *
        *


success 成功响应后调用 *
        *


error 错误响应时调用 *
        *


complete 响应完成时调用(包括成功和失败) *



$.get() 以GET方式发起Ajax请求

$.post() 以POST方式发起Ajax请求

$('form').serialize()序列化表单(即格式化key=val&key=val)

ajax的基本代码模式(get请求):
        var xhr = new XMLHttpRequest();
         //url通常就是一个php文件,可以返回信息
        var url = "server.php?name=jack&age=18&a=99&b=ccc";
        xhr.open("get", url);   
        xhr.send(null);
        xhr.onreadystatechange = function(){
        if( xhr.status == 200 && xhr.readyState == 4){
            var str = xhr.responseText; //获得返回的文本
            }
        }
        
        ajax的基本代码模式(post请求):
    var xhr = new XMLHttpRequest();
    //url通常就是一个php文件,可以返回信息
    xhr.open("post", "server.php");
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    xhr.send("name=jack&age=18&a=99&b=ccc");    //send中带数据
    xhr.onreadystatechange = function(){
        if( xhr.status == 200 && xhr.readyState == 4){
            var str = xhr.responseText; //获得返回的文本
        }
    }

获取json数据格式并处理的方式:
    if( xhr.status == 200 && xhr.readyState == 4){
            var str = xhr.responseText; //获得返回的文本(假设是json文本)
            var obj = JSON.parse(str);  //将json文本解释为json对象
    }

获取xml数据格式并处理的方式:
    //服务器端:
        header("Content-Type: application/xml; charset=utf-8");
   
    //客户端:
    if( xhr.status == 200 && xhr.readyState == 4){
            var xmlObj = xhr.responseXML; //获得返回xml文档
            var obj1 = xmlObj.getElementById("dv");
            var obj2 = xmlObj.querySelector("#dv2");
            var items = xmlObj.querySelectorAll("item");
    }




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2