2010-02-11 69 views
0

我在页面上有一个div,其内容根据在下拉列表中选择的值而变化。因为在这个div中有大量的格式化内容我想要一个PHP脚本提供HTML,它存储在系统上的一个文件中。PHP将HTML发送到JS

我不知道如何让PHP将该文件的内容返回给ajax脚本,该文件基本上包含许多div标签和内容。然后,它会更改页面上div的内容。

后端php使用CakePHP并使用YUI3作为前端框架。

如果需要,解决方案不需要包含任何Cake。

谢谢!

回答

1
+0

伊格纳西奥 - 你一定会快点! – meouw 2010-02-11 22:22:11

1

“我不能缝弄清楚如何让PHP返回文件的内容”

echo file_get_contents($filepath); 

对于网站上的AJAX部分(虽然你好像不要求):

var xmlhttp; 
if(window.XMLHttpRequest) 
    xmlhttp = new XMLHttpRequest(); 
else if(window.ActiveXObject) 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");  // Use ActiveX in IE 
else { 
    alert('Your browser doesn\'t support XMLHttpRequest.'); 
    return; 
} 
xmlhttp.eid = eid; // <-- id of the div to be filled with the content from the file 
xmlhttp.onreadystatechange = function() { 
    if(xmlhttp.readyState == 4) { 
     document.getElementById(xmlhttp.eid).innerHTML = xmlhttp.responseText; 
    } 
} 
xmlhttp.open("GET", "phpfile.php", true); 
xmlhttp.send(null); 

编辑:请认为这个解决方案可能不是你的框架完成的方式。

+0

谢谢你 - 你的方法也适用!我正在使用YUI3,所以AJAX的东西已经被处理了。 +1 – user103219 2010-02-11 22:34:40

0

您也可以为每种类型的html表单创建视图并通过ajax帮助程序返回。它会给你更多的灵活性;你甚至可以添加一些PHP逻辑到这个HTML表格等等...

在文件中存储格式化的HTML表单太原始了,因为它很容易想象当你需要填充一些标签的内容从你的数据库。用“观点”来做,会给你这个机会。

此致敬礼。

+0

是的,我们已经考虑过这个选项,但在这种情况下最好的情况是存储一个静态html文件。不过谢谢。 – user103219 2010-02-11 22:33:22