zoukankan      html  css  js  c++  java
  • 8 HTML&JS等前端知识系列之Ajax的例子

    what is ajax ?

    AJAX = 异步 JavaScript 和 XML。
    AJAX 是一种用于创建快速动态网页的技术。
    通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
    传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
    有很多使用 AJAX 的应用程序案例:新浪微博、Google 地图、开心网等等。

    例子1-跨域请求

    跨域请求的要求请看下面:
    你的web页面的js代码必须满足以下2点要求:

    1. 发送格式必须是jsonp。
    2. 函数名:告诉对方用什么函数名来返回数据,通过jsonCallback来设置。

    服务器端的要求:

    1. 返回的数据必须是这样的格式:函数名("OK"),比如list(jsonp),这个函数名是双方协商的。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>ajax跨域</title>
    </head>
    <body>
        <input value="获取节目" type="button" onclick="ajaxrequest()">
        <div id="content"></div>
        <script src="jquery-2.2.3.js"></script>
        <script type="text/javascript">
        function ajaxrequest() {
            $.ajax({
            url:"http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list&_=1454376870403",  // 定义要和哪个url交互数据
    
            type:'GET',        // 定义使用什么方法向服务器发送请求
            dataTyep:"jsonp",           // jsonp是说我请求数据的时候会告诉服务器,返回数据的时候要使用我给你的函数名去包裹数据
            jsonp:'callback',      // 对方根据这个键来取值,请看下面
            jsonCallback:'list',    // 服务器返回数据的时候使用,告诉我们的ajax去用什么函数名解析数据
            // callback + list就等于 (callback:list) 这样的键值对。这样对方直接根据callback来取值了。
            sucess: function (data) {     // 执行成功调用这个方法,方法内容自定义
                $.each(date.date,function(i){
                var item = data.data[i];
                console.log(item);
                var str = "<p>" + item.week +"</p>>";
                    })
                },
            error: function (data) {   // 执行失败调用这个方法,方法内容自定义
                alert("have some error!!")
                }
            })
        }
        </script>
    </body>
    </html>
    

    例子2-本域的ajax例子

    // 完整的ajax例子
    function get_status_usage(){
        disk_data = [];
        $.ajax({
            url: "{% url 'get_status_data'%}",
            type: 'POST',
            dataType: 'json',
            data: {'host_id':$('#host_id').text()},
            success: function(callback){   // 自定义函数内容了,我这里的你可以忽略。
                console.log(callback);
                callback_copy = callback
                if( callback.disk_usage_a_hour){
                for(disk in callback.disk_usage_a_hour){
                disk_data.push(callback.disk_usage_a_hour[disk])
                       }
                 }
                console.log('disk_data',disk_data);
                return disk_data
            }, // end sucess func
            error: function(err_info){
                alert('error:',err_info)
                } 
        });  // end ajax
    }
    
    
  • 相关阅读:
    spring读取配置文件内容并自动注入
    xshell免费下载安装使用
    cas sso原理
    sql两列相除,保留n位小数
    mysql 报zone什么的错误
    mysql union出错: "Every derived table must have its own alias"
    mysql jdbc操作
    sql 对某列取值进行if判断
    Python深入:02浅拷贝深拷贝
    Python基础:22__slots__类属性
  • 原文地址:https://www.cnblogs.com/liaojiafa/p/6180408.html
Copyright © 2011-2022 走看看