WordPress在从URL获取参数的页面加载中使用Ajax

时间:2018-11-26 03:25:10

标签: javascript php jquery ajax wordpress

因此,我正在网站上进行搜索,主要搜索表单位于主页上,用户可以在其中输入信息,例如兴趣,书籍,电影。

该表格应提交到另一页,其中将显示搜索。 因此,它与任何其他搜索类似,但是在搜索页面上,我应该将参数保留在url中,因此它不会是POST,而是GET。

主页类似于mywebsite.com

提交表单时,它会使用GET参数发布,因此用户可以将搜索结果保留在其url中。提交的帖子应该导致类似的情况。

mywebsite.com/search?interests=sports&books=harry+potter&movies=moviename

因为搜索和加载结果可能需要一些时间,所以我想加载页面,而不是ajax发布搜索功能并在ajax响应后填充搜索结果。

我过去已经构建了一些ajax内容加载以及使用ajax发布和加载数据的方法,但是所有这些都保持在同一页面上,而当您在wordpress中将内容从一页提交到另一页时,我从未构建过。

任何建议我该怎么做并使ajax抓取内容?

1 个答案:

答案 0 :(得分:0)

我找到了答案,实际上很简单,而是使用功能(例如,单击按钮的功能)触发ajax。

仅在页面加载时触发ajax,并且除了该页面之外,不将脚本排入队列,这会有所帮助。

if ( is_page_template('template-search.php') ) {
    wp_enqueue_script('ajax_search');
}

这将确保仅在该模板页面上加载脚本,而对于脚本本身,只需在准备就绪的页面上加载ajax:

jQuery(document).ready(function($) {
jQuery.ajax({
    dataType: 'json',
    url: search_flight.ajaxurl,
    data: {
        action: 'search_flight',
    },
    beforeSend: function() {

    },
    success: function(data) {
        console.log(data);
    },
    error: function() {
    }
});
});
相关问题