zoukankan      html  css  js  c++  java
  • JSON APIs and Ajax

    1.

    通过jQuery来绑定点击事件。

    函数 $(document).ready()这个函数中的代码只会在我们的页面加载时候运行一次,确保执行js之前页面所有的dom已经准备就绪。

    $(document).ready()函数中增加一个click事件。代码如下:

    $("#getMessage").on("click", function(){

    });

    2.

    当你需要根据服务器返回的数据来动态改变页面的时候,应用程序接口(API)就派上用场了。

    记住,API——应用程序接口(Application Programming Interface)是计算机之间相互交流沟通的工具。

    许多网站的应用程序接口(API)都是通过一种称为JSON格式的数据来传输的,JSON 是 JavaScript Object Notation的简写。

    其实如果你曾经创建过JS对象的话,你就已经使用了这种数据格式,JSON是一种非常简洁的数据格式。

    它通常表现为了两种形式,一种为单个对象,一种为多个对象

    单个对象类似于:
    {name:'盖伦',advantage:'单挑无敌'}

    多个对象类似于:
    [{name:'盖伦',advantage:'单挑无敌'},{name:'诺克',advantage:'上单霸主'}]

    每个对象属性和属性值的组合就是我们经常听到的"键值对(key-value pairs)"。

    让我们从之前的猫图API拿取数据吧。

    你应该在你的点击事件中加入如下的代码:

    $.getJSON("/json/cats.json", function(json) {
    $(".message").html(JSON.stringify(json));
    });

    显示结果:[{"id":0,"imageLink":"/images/funny-cat.jpg","codeNames":["Juggernaut","Mrs. Wallace","Buttercup"]},{"id":1,"imageLink":"/images/grumpy-cat.jpg","codeNames":["Oscar","Scrooge","Tyrion"]},{"id":2,"imageLink":"/images/mischievous-cat.jpg","codeNames":["The Doctor","Loki","Joker"]}]

    3.

    已经从JSON API中获得了数据,现在把它们展现到我们的HTML页面中吧。

    这里,我们使用.forEach()函数来循环遍历JSON数据写到htmll变量中。

    首先我们定义一个HTML变量,
    var html = "";

    然后,我们使用.forEach()函数来循环遍历JSON数据写到html变量中,最后把html变量显示到我们的页面中。

    整个过程的代码如下:

    json.forEach(function(val) {
    var keys = Object.keys(val);
    html += "<div class = 'cat'>";
    keys.forEach(function(key) {
    html += "<b>" + key + "</b>: " + val[key] + "<br>";
    });
    html += "</div><br>";
    });

    显示结果:

    id:0
    imageLink:/images/funny-cat.jpg
    codeNames:Juggernaut,Mrs. Wallace,Buttercup

    id:1
    imageLink:/images/grumpy-cat.jpg
    codeNames:Oscar,Scrooge,Tyrion

    id:2
    imageLink:/images/mischievous-cat.jpg
    codeNames:The Doctor,Loki,Joker

    4.

    从上节课获得的JSON数组中,每个对象都包含了一个以imageLink为键(key),以猫的图片的url为值(value)的键值对。

    当我们在遍历这些对象时,我们用imageLink的属性来显示img元素的图片。

    代码如下:

    html += "<img src = '" + val.imageLink + "'>";

    5.

    如果我们不想把所有从JSON API中得到的图片都展现出来,我们可以在遍历之前做一次过滤。

    我们把其中 "id" 键的值为1的图片过滤掉。

    代码如下:

    json = json.filter(function(val) {
    return (val.id !== 1);
    });

    6.

    我们还可以通过浏览器navigator获得我们当前所在的位置geolocation

    位置的信息包括经度longitude和纬度latitude

    你将会看到一个是否允许获取当前位置的提示。不管你选择允许或者禁止,只要代码正确,这关就能过了。

    如果你选择允许,你将会看到右侧手机输出的文字为你当前所在位置的经纬度。

    代码如下:

    if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(function(position) {
    $("#data").html("latitude: " + position.coords.latitude + "<br>longitude: " + position.coords.longitude);
    });
    }
  • 相关阅读:
    2020/11/4
    2020/11/10
    2020/11/12
    2020/11/5
    20201113 千锤百炼软工人
    20201112 千锤百炼软工人
    Java_swing_打开文件目录
    千锤百炼软工周报二
    9.29 课下动手动脑
    开学小测感想
  • 原文地址:https://www.cnblogs.com/Wendy-Guo/p/7772189.html
Copyright © 2011-2022 走看看