私は最近ブログを始め、手作業でコード化しました。静的なCSS/HTML5ウェブサイトです。友人と共有すると、私はFTPで更新すると、すでにブラウザでキャッシュされていることに気付きました。私はブログのすべての投稿をに保存し、ののボタンをクリックした後に何らかの方法で最新の投稿と転送先のユーザーを決定するリンク先ページを作成することに決めました。URLからjavascriptでプレーンテキストファイルをリクエストしますか?
特定のリンクに転送できるボタンを作成できましたが、常に最新のページに転送するスクリプトを作成したいと思います。そこで、私は「getLatest.json」というファイルを作成し、それを自分のサイトの「api」サブフォルダにアップロードしました。私はそれを読み込むためにXMLHttpRequestを使用しようとしました:
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
window.location = "http://latestBlogPost.com" +
xhttp.responseText.today;
//Today is a parent in the object returned.
}
};
xhttp.open("POST", "http://myWebsite.com/api/getLatest.json", true);
xhttp.send();
}
しかし、それは動作しませんでした。応答は空文字列でした。私は無駄にjqueryを使用してみました。
URLを含む平文のgetLatest.htmlというファイルをアップロードしようとしました。それはどちらもうまくいかなかった。
tl; dr:URLのHTMLコンテンツからプレーンテキストを取得できる方法はありますか?
編集:getLatest.jsonとgetLatest.htmlには、最新のブログ投稿へのリンクが含まれています。
投稿はなぜですか?応答テキストが返されている場合は、応答テキストをJSONオブジェクトに変換する必要があります。 – epascarello
'xhttp.responseText'には、' GET'リクエストを使用するとjsonファイルのプレーンテキストがすでに含まれています。 'responseText'に' today'プロパティがないため、 '.today'を使用することはできません。どのような場合でも、ページをキャッシュしないようにするには、正しいヘッダーを送信してページをキャッシュしないようにHTTPサーバーを設定する必要があります。 –
xhttp.responseTextはURLからの応答ではありませんか?私はJSONで解析していますか? – theDoctor5000