2013-10-10 94 views
0

是否有可能重新加载一个div就好像它是一个页面刷新?刷新一个div,好像它是一个页面刷新

我有一个jQuery提交我的并只返回原始数据数组。没有返回任何html数据的数组。 如何刷新div的html和php内容,因此它会填充新数据?

这是我迄今为止提交表单并返回数据所做的工作。

$(document).ready(function() { 
    $("input:checkbox").change(function() { 

var url = "index.php?action=resortFilter"; 

$.ajax({ 
     type: "POST", 
     url: url, 
     data: $("#locationFilter").serialize(), 
     success: function(data) 
     { 
      $(".resorts").html(data); 
     } 
    }); 
    }) 
}); 

它返回除了目前它只是覆盖,其中包含我所有的HTML和PHP来显示数据的div所有正确的数据。因为回报是唯一的数据是有效清空div

HTML和PHP页面的结构,像这样

<div class="resorts"> 
    <?php foreach ($results['data'] as $data) { ?> 
     <table></table> and so on.................. 
</div> 

现在我不能改变实际处理形式的文件,并把在HTML和PHP来把它返还。所以我需要找到一种方法来使用已经在页面中的代码

+0

它应该刷新和重新填充新的数据不只是空本身 – user1711576

+0

你有2个选择在这里:** 1 **修改您当前的webservice返回数组,返回所需的html ** 2 **创建一个web服务,返回特定于数组中的1个元素的html,并进行ajax调用以获取数组,然后对于该元素的数组调用服务中的每个元素,这两种方法都有优势和disatvanges,恕我直言,虐待2使用方法 –

回答

4

两个选项或者使用ajax调用PHP来获取数据数组并将其作为html返回。或者你将不得不使用JavaScript来浏览数组数据并将其转换为可用的html。你不能让PHP代码在客户端的计算机上重新运行,它是一种服务器端语言。

如果您无法修改表单提交的代码,您可以创建一个新的php文件吗?您可以将ajax提交发送给它,然后使用Curl将数据提交给实际的表单提交代码获取响应并将其转换为html然后返回。

+0

它didn'对我而言,PHP请求只能进行一次。难怪找到解决方案非常困难。 虽然我正在考虑创建一个中间脚本来处理要显示的新数据。 感谢您的帮助 – user1711576

+0

PHP永远不会发送到客户端(只要Web服务器安装正确)。它在服务器上运行并转换为简单文本,通常以HTML格式提供。 – Pitchinnate

+0

我知道它在我试图解决这个问题时从来没有想过这件事,而最终在一场疯狂的鹅追逐中敲敲墙对我的头撞 – user1711576