如何从REST API访问和AJAX响应的标头

时间:2017-07-29 作者:Marcos Di Paolo

如何访问rest API的标头和ajax响应?

我需要总页数(X-WP-TotalPages)

这里是我的代码:

$(document).ready(function () {
  var pageCounter = 1;
  var ourHTMLString = \'\';



/////////////////////////////////////
// Ajax function starts            //
/////////////////////////////////////

  function llamadaAjax() {
    $.ajax({ //comienza ajax
    type: \'GET\',
    url: magicalData.siteURL + \'/wp-json/wp/v2/posts?_embed&categories=5&page=\' + pageCounter,
    success: function (articulos) {
    $.each(articulos, function (index, articulo) {
        ourHTMLString += \'<article class="post">\';
        ourHTMLString += \'<div class="post-thumbnail fade1"><img src="\' + articulo._embedded[\'wp:featuredmedia\'][0].media_details.sizes[\'small-thumbnail\'].source_url + \'"></div>\';
        ourHTMLString += \'<a href="\' + articulo.link + \'"><h3>\' + articulo.title.rendered + \'</h3></a>\';
        ourHTMLString += \'<p>\' + articulo.content.rendered + \'</p>\';
        ourHTMLString += \'</article>\';

      }); 

      $(\'#criticasPostContainer\').html(ourHTMLString);
    }
  }); 

  // fin ajax

}

///////////////////////////////
  // fin FUNCIÓN llamada ajax
///////////////////////////////


 llamadaAjax();

 // // click event listeners

$(\'button.botonSigCriticas\').click(function(){
  pageCounter++;
  ourHTMLString = \'\';
  llamadaAjax();
  });

$(\'button.botonAntCriticas\').click(function(){
  pageCounter--;
  ourHTMLString = \'\';
  llamadaAjax();
  });


  });// end jquery function

1 个回复
最合适的回答,由SO网友:Chandra Kumar 整理而成

您可以使用以下更改ajax:request.getResponseHeader(\'your_header\')

$.ajax({
    type: \'POST\',
    url:\'api-url.php\',
    data: formData,
    success: function(data, textStatus, request){
        alert(request.getResponseHeader(\'your_header\'));
    },
    error: function (request, textStatus, errorThrown) {
        alert(request.getResponseHeader(\'your_header\'));
    }
});

结束

相关推荐

AJAX请求状态200,但没有实际的“响应”

因此,基本上,我编写了一个AJAX调用,它运行一个PHP脚本,响应一个按钮点击(由JS处理)来响应hello world。我得到状态200,在浏览器“inspect element”功能的响应部分,我得到“Hello world”,但它不会显示在页面上。我知道“echo”应该有用,因为我用它来表示我的站点已正确连接到MySQL数据库。因此,响应部分显示“Connected SuccessfullyHello World”(sic),但页面仅显示“Connected Successfully”。所以出于某种