合并wp REST API查询以获取每个类别的帖子不起作用

时间:2018-04-08 作者:monsieur Moumni

查询查询运行得很好http://solucase.com/wp-json/wp/v2/posts?categories=38 但是,当我将其添加到循环函数以获取与该类别相关的所有帖子时,我会在检查链接技术时收到此错误,例如

function postsPerCat(cat_id) {

    $.ajax({
        method : \'GET\',
        dataType : \'json\',
        success : \'success\',
        url : "http://solucase.com/wp-json/wp/v2/posts?categories=\'cat_id\'",
    })
    .then(function (posts) {
        $.each(
            posts,
            function(key, val) {
                $(\'.recentposts\')
                    .append(
                        \'<div  class="post"  data-icon="false" onclick=postDetails(\'
                            + val.id
                            + \')><a   href="#postview"><img src=\'
                            + val._embedded[\'wp:featuredmedia\'][\'0\'].media_details.sizes.thumbnail.source_url
                            + \' ></img></a><h1 class="post_h1">\'
                            + val.title.rendered
                            + \'</h1></div>\'
                    )
                ;

                $(\'.recentposts\').listview(\'refresh\');
            }
        );
    });

}

enter image description here

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

查看错误中的URL:

http://solucase.com/wp-json/wp/v2/posts?categories=%27cat_id%27
%27 是的URL编码字符\', 因此,您可以看到,在使用AJAX请求的URL中发生了什么cat_id 未替换为变量值。

这是因为定义URL时使用引号的方式不正确:

"http://solucase.com/wp-json/wp/v2/posts?categories=\'cat_id\'"
首先,用双引号打开字符串,". 但正试图用单引号将其关闭,\'. 不能用单引号关闭双引号,因此引号只是字符串的一部分,与cat_id 变量名称。

其次,在尝试关闭引号后,没有正确连接变量cat_id 放在绳子上。要在JS中连接字符串,需要使用+ 性格

所以url AJAX调用中的参数应为:

url: "http://solucase.com/wp-json/wp/v2/posts?categories=" + cat_id

url: \'http://solucase.com/wp-json/wp/v2/posts?categories=\' + cat_id
任何一个都可以。

还请注意,您没有在类别ID之后添加任何内容,因此无需再次打开和关闭引号。

结束