🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

解決済

1回答

4097閲覧

ajax通信後のhttpヘッダ情報取得

chanNORI

総合スコア27

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2019/11/26 11:18

編集2019/11/26 11:21

WordPressのRESTAPIのURLにajax通信後、httpヘッダ情報内のX-WP-TotalPagesの取得を行いたいです。
下記コードにてヘッダ情報の取得を試みましたが、エラーになってしまう始末です。
どなたかご教示のほどよろしくお願いいたします。

indexjs

1function newsGetter(dom,rest_url) { 2 var domArea = dom; 3 $.ajax({ 4 type: 'GET', 5 url: rest_url, 6 crossDomain: true, 7 contentType: "application/json; charset=UTF-8", 8 cache: false, 9 dataType: 'json' 10 }).done(function (wordpressapi,xhr) { 11 var lng = wordpressapi.length; 12 console.log(xhr.getResponseHeader( 'X-WP-TotalPages' )); 13 if (lng > 5) { 14 lng = 5; 15 }; 16 for (var i = 0; i < lng; i++) { 17 var title = wordpressapi[i]['title']['rendered']; 18 var id = wordpressapi[i]['id']; 19 var content = wordpressapi[i]['content']['rendered']; 20 var link = wordpressapi[i]['link']; 21 var excerpt = wordpressapi[i]['excerpt']['rendered']; 22 var category = wordpressapi[i]['_embedded']['wp:term'][0][0]['name']; 23 var catslug = ' cat' + wordpressapi[i]['_embedded']['wp:term'][0][0]['slug']; 24 if (wordpressapi[i]['_embedded']['wp:featuredmedia']) { 25 var image = wordpressapi[i]['_embedded']['wp:featuredmedia'][0]['media_details']['sizes']['post-thumbnail']['source_url']; 26 var image_html = '<div class="image">' + '<img src="' + image + '" alt="' + title + '-image" />' + '</div>'; 27 var image_css = 'image-on'; 28 } else { 29 var image_html = ''; 30 var image_css = 'image-off'; 31 } 32 var dateData = new Date(wordpressapi[i]['date']); 33 yy = dateData.getYear(); 34 if (yy < 2000) { 35 yy += 1900; 36 } 37 mm = dateData.getMonth() + 1; 38 if (mm < 10) { 39 mm = "0" + mm; 40 }; 41 dd = dateData.getDate(); 42 if (dd < 10) { 43 dd = "0" + dd; 44 }; 45 var postDate = yy + '-' + mm + '-' + dd; 46 47 var html = 48 '<div class="grid-index">'+ 49 '<a href="' + link + '" class="'+ image_css +'" data-postid="'+ id +'">'+ 50 '<div class="item">'+ 51 '<div class="titleset d-flex flex-wrap">'+ 52 '<div class="date">' + postDate + '</div>'+ 53 '<div class="title ml-3">' + title + '</div>'+ 54 '</div>'+ 55 // '<div class="category"><span class="catblog'+ catslug +'">'+ category +'</span></div>'+ 56 // '<div class="excerpt">'+ content +'</div>'+ 57 '</div>'+ 58 image_html + 59 '</a>'+ 60 '</div>'; 61 $(domArea).append(html); 62 } 63 }).fail(function (wordpressapi) { 64 $(domArea).append("データの読み込みに失敗しました。"); 65 }); 66};

indexhtml

1<script src="index.js"></script> 2<script> 3 $(function() { 4 newsGetter("#newslist","https://example.copm/wp-json/wp/v2/posts?_embed&per_page=5"); 5 }); 6</script>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

doneの3番目の引数を参照してください

javascript

1$(function(){ 2 $.ajax({ 3 url:rest_url, 4 }).done(function(data,status,xhr){ 5 console.log(data); 6 console.log(xhr.getResponseHeader("x-wp-totalpages")); 7 }); 8});

投稿2019/11/26 11:30

yambejp

総合スコア116694

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

chanNORI

2019/11/26 11:48

ご教示いただいた内容で取得できました。 早速のご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問