2016-10-19 4 views
0

EDIT: Ich habe die Lösung selbst herausgefunden, aber ich möchte einige Antwort, warum dies funktioniert. Ich löschte das https: // von der URL und es behob das Problem. Nicht sicher, warum das ein Problem wäre. Vielleicht ist https sicherer?JS zieht keine Daten von Forismatic API

Hier sind einige meiner relevanten HTML und Js Code ist es auf Codepen geschrieben, so dass die Header und Bibliotheken nicht direkt im Code sind. Hier ist der Link zur Codepen-Seite: https://codepen.io/slicknick/pen/vXVYpg

Dies ist ein Projekt zum Erstellen eines zufälligen Angebotsgenerator mit der Forismatic API. Ich bin neu in APIs und Js. Ich kann die Anführungszeichen nicht auf meiner Seite anzeigen lassen und würde gerne ein Feedback darüber erhalten, warum dies passieren könnte.

HTML

<div class="container-fluid"> 
<div class="row"> 
    <div class="col-xs-6 col-centered"> 
     <blockquote> 
      <p id="quote-text"></p> 
      <footer> 
       <a id="author" target="_blank"></a> 
      </footer> 
     </blockqoute> 
     <button type="button" id="getQuote" class="btn btn-secondary">New quote</button> 
     <a href="http://twitter.com/home?status=%23Quote" target="_blank"><i class="fa fa-twitter-square fa-3x" id="twitter-share" aria-hidden="true"></i></a> 
    </div> 
</div> 

$(function() { 
var author = $('#author'); 
var text = $('#quote-text'); 
getQuote(author, text); 

$('#getQuote').click(function(event) { 
    event.preventDefault(); 
    getQuote(author, text); 
    $('#twitter-share').removeClass("disabled"); 
    $('#twitter-share').html("Share with Twitter!"); 
}) 
}); 

var tweetText = ""; 
$('#twitter-share').click(function() { 
if (tweetText.length > 140) { 
    tweetText = ""; 
    $(this).addClass("disabled"); 
    $(this).html("140 chars exceeded!"); 
} else { 
    $(this).attr("href", "https://twitter.com/intent/tweet?text=" +  tweetText); 
} 

}) 

function getQuote(author, text) { 

var forismaticURL = "http://api.forismatic.com/api/1.0/? method=getQuote&lang=en&format=jsonp&jsonp=?" 

$.getJSON(forismaticURL, function(data) { 

    text.html(data.quoteText); 
    if (data.quoteAuthor) { 
     author.html(data.quoteAuthor); 
     author.attr("href", data.quoteLink); 
    } else { 
     author.removeAttr("href"); 
     author.html("<strong>Anonymous</strong>"); 
    } 
    tweetText = data.quoteText + "By -" + data.quoteAuthor; 
}); 
} 

Antwort

0

von Forismatic API Dokumentation Zitiert

API Methodenaufrufe in Form von HTTP-Anfragen an die URL http://api.forismatic.com/api/1.0/ umgesetzt werden.

Deshalb erhalten Sie Fehler 404 auf HTTPS.

Ich hoffe, es hilft.

+0

Danke es tut. Ich bin mir sicher, dass ich die Dinge besser verstehen werde, je tiefer ich in die API komme. –

Verwandte Themen