我正在尝试使用ajax更新REST搜索结果,以便不重新加载新页面。
现在搜索结果显示在:
<div id="searchtable"><?php include 'hotels/hotelList.php';?></div>
点击按钮我想重新加载这个div元素,所以它包含一个新的php文件。
按钮:
<button onclick="myFunction()">LOAD</button><br /><br />
的jQuery
<script>
function myFunction() {
$.get( "/hotels/hotelSortBy.php" );
$('#searchtable').replaceWith('<?php include 'hotels/hotelSortBy.php';? >');
}
</script>
我无法替换div元素“searchable” - 用replaceWith - 我这样做了吗?
答案 0 :(得分:1)
如果您正在使用AJAX,则不需要内联PHP。尝试使用jQuery&#39; .load
AJAX方法:
function myFunction() {
$('#searchtable').load('/hotels/hotelSortBy.php');
}
请注意,这与.replaceWith
略有不同 - 使用.load
会保留#searchtable
并将新内容放入其中,而非替换它。
答案 1 :(得分:0)
你在这里误解了一个关键因素。你的javascript在客户端运行,而php在服务器端运行(至少通常)。 Javascript不解释php和php也不解释javascript(除了json)。您可能想要做的是调用提供此php文件的URL的ajax请求,以便您的Web服务器解释php并返回响应。可能会检查http://api.jquery.com/jquery.ajax/?
答案 2 :(得分:-2)
尝试使用.html而不是replaceWith。
所以它看起来像
function myFunction(){
$('#searchtable').html('<? php include 'hotels/hotelSortBy.php'; ?>');
}