zoukankan      html  css  js  c++  java
  • AJAX--jQuery

    jQuery在全局对象jQuery(也就是$)绑定了ajax()函数,可以处理AJAX请求。ajax(url, settings)函数需要接收一个URL和一个可选的settings对象,常用的选项如下:

    • async:是否异步执行AJAX请求,默认为true,千万不要指定为false

    • method:发送的Method,缺省为'GET',可指定为'POST''PUT'等;

    • contentType:发送POST请求的格式,默认值为'application/x-www-form-urlencoded; charset=UTF-8',也可以指定为text/plainapplication/json

    • data:发送的数据,可以是字符串、数组或object。如果是GET请求,data将被转换成query附加到URL上,如果是POST请求,根据contentType把data序列化成合适的格式;

    • headers:发送的额外的HTTP头,必须是一个object;

    • dataType:接收的数据格式,可以指定为'html''xml''json''text'等,缺省情况下根据响应的Content-Type猜测。

    下面的例子发送一个GET请求,并返回一个JSON格式的数据:

    var jqxhr = $.ajax('/api/categories', {
        dataType: 'json'
    });
    // 请求已经发送了

    不过,如何用回调函数处理返回的数据和出错时的响应呢?

    还记得Promise对象吗?jQuery的jqXHR对象类似一个Promise对象,我们可以用链式写法来处理各种回调:

    'use strict';
    
    function ajaxLog(s) {
        var txt = $('#test-response-text');
        txt.val(txt.val() + '
    ' + s);
    }
    
    $('#test-response-text').val('');
    
    var jqxhr = $.ajax('/api/categories', {
    dataType: 'json'
    }).done(function (data) {
    ajaxLog('成功, 收到的数据: ' + JSON.stringify(data));
    }).fail(function (xhr, status) {
    ajaxLog('失败: ' + xhr.status + ', 原因: ' + status);
    }).always(function () {
    ajaxLog('请求完成: 无论成功或失败都会调用');
    });

    成功, 收到的数据: {"categories":[{"id":"0013738748415562fee26e070fa4664ad926c8e30146c67000","name":"编程","tag":"tech","display_order":0,"description":"","created_at":1373874841556,"updated_at":1429763779958,"version":5},{"id":"0013738748248885ddf38d8cd1b4803aa74bcda32f853fd000","name":"读书","tag":"other","display_order":1,"description":"","created_at":1373874824888,"updated_at":1429763779974,"version":5}]}
    请求完成: 无论成功或失败都会调用

  • 相关阅读:
    无语的Filezilla
    服务无法启动集中帖
    FileZilla Server-Can’t access file错误解决方法
    CCNA2.0笔记_OSPF v3
    CCNA2.0笔记_OSPF v2
    <转>32位移植到64位 注意事项
    异步设备IO 《windows核心编程》第10章学习
    关于自己五年来做出的选择分析
    2015过年之前计划
    关于同一线程两次调用EnterCriticalSection的测试
  • 原文地址:https://www.cnblogs.com/dreambin/p/8022536.html
Copyright © 2011-2022 走看看