jQuery.ajax替换PHP代码

时间:2015-02-18 19:35:24

标签: javascript php jquery html ajax

我正在尝试使用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 - 我这样做了吗?

3 个答案:

答案 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'; ?>');
}