2017-07-18 5 views
1

Ich versuche, den Code unten auszuführen, aber nichts passiert.Webservice mit jQuery konsumieren

Ich erhalte keine Fehlermeldungen in Firefox/Chrome in Entwickleroptionen.

Irgendeine Idee, was ich falsch mache?

$(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> 

Das Skript ist sehr einfach.

+1

Wenn Sie einen 'error' Handler hinzufügen, können Sie das Problem sehen: https://jsfiddle.net/whw29h0g/ –

+0

Laut Ihrem Code sah ich Api Returns Einige Daten in Json Format Sir [https://api.coinmarketcap.com/v1/ticker/ripple/](https://api.coinmarketcap.com/v1/ticker/ripple/) –

Antwort

3

Das Problem liegt daran, dass die von Ihnen aufgerufene API Daten im JSON-Format und nicht in JSONP zurückgibt. Sie sind nicht austauschbar. Um das Problem zu beheben, ändern Sie dataType: 'jsonp' zu dataType: 'json'. Versuchen Sie folgendes:

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); 
 
    } 
 
});
<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>

Sie eine Schleife durch das resultierende Objekt müssen in Ihrem success Handler und die Daten im gewünschten Format anhängen.

Beachten Sie auch, dass wenn Sie https://api.coinmarketcap.com/v1/ticker/ripple aufrufen - wie Sie beabsichtigen zu beabsichtigen, noch der Code nicht tut - dann werden Sie von CORS blockiert werden.

1

Sir bitte versuchen Sie es dieses Ich denke, die hilfreich für Sie

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) { 
 
    var content=""; 
 
    
 
    $.each(data[0], function(key, value) { 
 
    content+="Key :<b>"+key +"</b> Value :<b>"+value+"</b><br/>"; 
 
}); 
 

 
    $('#coin_value').html(content); 
 
    } 
 
});
<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>

Verwandte Themen