V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
islujw
V2EX  ›  JavaScript

用 JavaScript 通过 URL 请求 JSON 并插入到 HTML 的问题

  •  
  •   islujw · 2018-01-19 15:06:55 +08:00 · 4535 次点击
    这是一个创建于 2260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现需通过 magicseaweed 网站的 API 来显示近期数据。

    通过带 KEY 的 URL 可以加载到 JSON 信息,如何用 JavaScript 完成加载解析呢?转为 JavaScript 对象后将插入到 HTML 中。

    API 说明地址: https://magicseaweed.com/developer/forecast-api
    

    在 W3CSchool 看了 JSON 的使用,但并未提到 URL 请求的方法。本人也是初次接触这个,但急于完成任务,搜了一圈后似乎也没有可靠的答案,希望大佬们不吝赐教,先谢过了。

    14 条回复    2018-01-20 09:22:46 +08:00
    learnshare
        1
    learnshare  
       2018-01-19 15:17:18 +08:00
    jQuery $.get
    rubycedar
        2
    rubycedar  
       2018-01-19 15:17:27 +08:00 via iPhone
    ajax 异步请求后在回调里面操作 dom
    denano
        3
    denano  
       2018-01-19 15:21:06 +08:00
    “并未提到 URL 请求的方法”你要问的是这个吗?去学下 xmlhttprequest,或者更直接点 ajax
    tailf
        4
    tailf  
       2018-01-19 15:27:08 +08:00
    直接 Ajax 会跨域,建议用后端语言来做。
    SourceMan
        5
    SourceMan  
       2018-01-19 15:46:25 +08:00 via iPhone
    你这个前置技能缺的有点多
    islujw
        6
    islujw  
    OP
       2018-01-19 15:49:08 +08:00
    @SourceMan 我不是程序员。
    ai277014717
        7
    ai277014717  
       2018-01-19 15:55:49 +08:00
    不会前端都听说过 ajax
    skywolf
        8
    skywolf  
       2018-01-19 16:21:47 +08:00
    异步回调解析处理前端页面
    moxiaonai
        9
    moxiaonai  
       2018-01-19 16:46:19 +08:00
    刚才在这个帖子下面回了个链接。ip 被封了,现在还是开代理进来的,吊大的能告诉我,ip 封多久,怎么解封!
    bombless
        10
    bombless  
       2018-01-19 16:46:45 +08:00
    看了下这也不全是前端的问题,还得跨域呢
    访问极少(每天不足一千次访问啥的)的情况下还不如在后端请求好了

    不过我猜 po 主是要在本地打开 html 文件完成,建议改成类似 node-webkit 啥的好了,233
    mskf
        11
    mskf  
       2018-01-19 20:25:13 +08:00
    涉及跨域就用 jsonp,cors,不涉及跨域就用 ajax
    wallriding
        12
    wallriding  
       2018-01-20 02:04:00 +08:00
    var div= $('#my-div');
    var queryUrl = "https://.../api";
    $.getJSON(queryUrl, function (result) {
    var data = $.parseJSON(result);
    if (data && typeof data === 'object' && data !== null) {
    var dates = data['Dates'];
    var row = '<div>' + dates + '</div>';
    div.append(row);
    }
    }
    mingl0280
        13
    mingl0280  
       2018-01-20 02:53:48 +08:00
    这个要跨域,建议你服务器上做一下代理(请求少)以规避跨域问题……
    imswing
        14
    imswing  
       2018-01-20 09:22:46 +08:00 via iPhone
    去 MDN 看 XHR
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1062 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 18:58 · PVG 02:58 · LAX 11:58 · JFK 14:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.