首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jQuery消费web服务

用jQuery消费web服务
EN

Stack Overflow用户
提问于 2017-07-18 11:02:57
回答 1查看 114关注 0票数 1

我试图运行下面的代码,但什么也没有发生。

在开发人员选项中,我在Firefox/Chrome上没有收到任何错误消息。

知道我做错了什么吗?

代码语言:javascript
复制
$(document).ready(function () {

    jQuery.support.cors = true;

    var AltCoin = "ripple";
    //var api_url = "https://api.coinmarketcap.com/v1/ticker/" + AltCoin;
    var api_url = "https://api.coinmarketcap.com/v1/ticker/";

    $.ajax({
        method: "GET",
        dataType: "jsonp",
        url: api_url,
        data: AltCoin,
        success: function(data) {
            try {                                   
                $('#coin_value').html(data);
            }
            catch (error) {
                alert('error found');                                
            }
        }
    });
});

<article class="article">
    <h1>Ripple</h1>
    <p id="coin_value">test</p>
    <p></p>
    <p><strong></strong></p>
</article>

剧本是非常基础的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-18 11:07:50

问题在于调用的API以JSON格式返回数据,而不是JSONP。它们是不可互换的。

若要解决此问题,请将dataType: 'jsonp'更改为dataType: 'json'。试试这个:

代码语言:javascript
复制
var AltCoin = "ripple";
var api_url = "https://api.coinmarketcap.com/v1/ticker/";

$.ajax({
  method: "GET",
  dataType: "JSON",
  data: AltCoin,
  url: api_url,
  success: function(data) {
    console.log(data);
    //$('#coin_value').html(data);
  }
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<article class="article">
  <h1>Ripple</h1>
  <p id="coin_value">test</p>
  <p></p>
  <p><strong></strong></p>
</article>

您需要在success处理程序中循环遍历生成的对象,并以所需的格式追加数据。

还请注意,如果您调用https://api.coinmarketcap.com/v1/ticker/ripple --就像您似乎想要的那样,但是代码没有这样做--那么您将被CORS阻塞。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45164933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档