我在一个WordPress网站工作。
我想使用AJAX方法将搜索结果加载到当前打开的页面。要做到这一点,我需要在不打开新页面的情况下获得执行搜索的PHP代码的输出。
通常,在你输入一个搜索词后,WordPress会打开一个新的页面,URL如下:
mydomain.com/? s = searchword
执行搜索的PHP代码的输出显示在该页的#containerdiv中。
问题:如何在不打开新页面的情况下获得搜索结果,以便我可以使用jQuery将它们加载到当前打开的页面中?
我很感激你的建议!这个插件为你做了很多。你可能想看看插件的源代码,看看如何为自己利用它。
http://wordpress.org/extend/plugins/threewp-ajax-search/screenshots/我想你也可以自己调用搜索页面,解析出#container值,然后自己解析结果列表。如果你需要帮助就告诉我。否则,我认为一个已经开发好的插件是非常方便的。
根据要求,这里有一些关于我如何做到这一点的更多想法。这些都不是测试,但我的总体想法是合理的。您必须适当地进行调整以匹配您的安装。例如Get vs Post。超时。请求数据。
使用jQuery的ajax调用来请求搜索页面
$.ajax({ async: true, data: $dataToSend, datatype: 'xml', beforeSend: function() { console.log('rq'); }, error: function(jqXHR, textStatus, errorThrown) { console.log('error'); }, success: function(xml, textstatus, jqXHR) { //Process Response Data }, timeout: 10000, type: 'POST', url: 'http://' + document.location.host + '/search' });
处理响应并剔除您感兴趣的数据。http://www.switchonthecode.com/tutorials/xml-parsing-with-jquery
(xml);美元("div [class = " post "]")。Each (function() {$("#currentPage").append($(this) + "
");});
SO拒绝对列表位进行代码块。不好意思