JQ Аякса обучения

Ajax - разделение API передней и задней разработки (интерфейс прикладного программирования данных Set ---)
парциальное техника обновить
асинхронный запрос (и одновременно последующий код) запрос синхронизации (запрос ожидает последующего исполнения завершает код выполнения)
на фоне доступа специализируются данных
Аякса JS объекты первого узнать уроженку XMLHttpRequest объектов доступа фона данные объектов
нативные JS написанных специально , когда фон доступа к данным
1. Создание объекта
2.Open подключения к удаленному параметров сервера: запрошенный метод метод получить почтовый адрес: путь к серверу просил
асинхр текущий запрос является синхронным или асинхронным истинно асинхронным ложной синхронизацией имени пользователя пароль пользователя

  1. Send () посылает запрос на
    событие ответа 4. onreadystatechange
    5. Интерфейс рендеринга

    var http = new XMLHttpRequest();
     //2.建立服务器连接
     http.open("get", "./data/student.txt");
     //3.发送请求
     http.send();
     //4.服务器响应
     http.onreadystatechange = function () {
     //5.界面的渲染
     //判断   获取最终读取完成状态
     if (http.readyState == 4) {
     //返回的数据都是string
     //console.log(typeof http.responseText);
     console.log(http.response);
     //字符串类型的json数据转化为对象型json  JSON.parse()
     var data = JSON.parse(http.response);
     console.log(data);
     //对象json转化为string json  JSON.stringify
     //var strdata=JSON.stringify(data);
     //console.log(strdata);
     }
    
     }
    //原生ajax的封装
    function method(meth, url, data, async, callback) {
        //对象的创建
        var http = new XMLHttpRequest();
        //判断
        if (meth == "get") {
            //get 传递的数据在路径的后边  www.baidu.com?name=1&s=2
            if (data) {
                url += "?";
                url += data;
            }
            http.open(meth, url, async);
            http.send();
        }
        else {
            http.open(meth, url, async);
            //判断是否有数据
            if (data) {
                http.send(data);
            }
            else {
                http.send();
            }
        }
        //响应
        http.onreadystatechange = function () {
            //状态的判断
            //状态码  200 success  500  服务器报错 404  服务器端页面丢失
            if (http.readyState == 4 && http.status == 200) {
                //将请求的数据返回
                callback(http.response);
            }
    
        }
    }
    //域名解析就是localhost   没有写端口号默认80端口
    //协议不一致会产生跨域
    //端口不一致也会导致跨域
    //域名不一致也会产生跨域
    /*
     * http://www.maodou.com/mao/list.html
     * https://www.maodou.com/mao/list.html
     * http://www.maodou.com:8080/mao/list.html
     * http://www.dou.com/mao/list.html
     * */

    // как решить кросс-домен
    может непосредственно получить доступ к общим ресурсам после // КИО быть сконфигурированы в серверных конфигурациях
    // написать слово , такие как PHP заголовок ( «Access-Control-Allow -Origin: В серверном файл внутри »); представители Весь
    // JSONP ЦСИ кросс-домен , называемый междоменный путем непосредственно в родных JS внутри
    // ЦСИ может быть подключен к удаленному пути
    атрибуту // скрипт Src непосредственно связан непосредственно апите фон удаленного доступ
    // путь в спине с функцией обратного вызова хорошо, фоновый процесс обратно к функции обратного вызова
    // следующий вопрос междоменного демонстрирует JSONP

    // JSONP SRC принцип заключается в том, чтобы использовать перекрестный домен в переднем конце кросса-домене (должен иметь фоновый процесс в ответ на такую функцию приема обратного вызова) для входящего интерфейса функции обратного вызова для выполнения
    2.jquery внутри Ajax запроса

    $.ajax({
         method:"get",//请求的方式  type
         url:"", //路径
         data:{},//传递的参数
         dataType:"",//数据类型
         jsonpCallback:"",//jsonp  跨域的
         success:function (res){
         //成功
         },
         error:function (){
         //请求失败
         },
         async:true//设置同步异步的
         });

рекомендация

отblog.51cto.com/14584021/2476698
рекомендация