我正在使用file_get_contents()
,而来源是一个网址。我也使用ajax将html插入页面。
加载时的页面:
<div>
<!-- Html goes here when the insert button is pressed -->
<input type="button" onclick="insertHtml()" value="insert"/>
<input type="button" onclick="saveThisPage()" value="save"/>
</div>
当使用ajax动态添加html:
<div>
<!-- Html goes here when the insert button is pressed -->
<div>Some text here...</div>
<div>Some text here...</div>
<div>Some text here...</div>
<input type="button" onclick="insertHtml()" value="insert"/>
<input type="button" onclick="saveThisPage()" value="save"/>
</div>
现在我想保存file_get_contents()
返回的内容并将数据存储到mysql数据库中。
按“保存”按钮,查询发送到php文件读取页面( url source)...除了保存的内容是加载时没有新数据的内容,即<div>Some text here...</div>
我该怎么办?我使用什么功能?
答案 0 :(得分:2)
要理解你想要做什么仍然很难。但根据这个评论得出答案:
@coosal:我忘了在我的问题中添加“保存”按钮。但过程1.Page Loads,2.I按“插入并添加数据3.I按”保存“并保存页面。在ajax加载数据后调用php
你可以做到这一点。只需在HTML页面上实现一个保存按钮,该按钮会触发另一个对PHP脚本的AJAX请求,然后保存已完成的页面:
<button onClick="$.post('save.php', {content:$('body').html()})">
然后通过以下方式接收完整的html主体:
file_put_contents("/tmp/saved.html", $_POST["content"]); // or mysql_*
答案 1 :(得分:1)
使用file_get_contents()
加载数据时,将不会执行请求页面中的任何Ajax代码。你需要一个浏览器来做到这一点。
答案 2 :(得分:1)
使用file_get_contents()来检索文件的整个内容以及要通过ajax调用的文件的内容是不实际的,甚至是不可能的,因为php在javascript被执行为javascript之前已经获取了数据完全是客户端脚本,我不认为这是可能的。
答案 3 :(得分:0)
如果您想要执行javascript,您应该通过浏览器组件提取数据。在Windows上,您可以使用IE的IWebBrowser2界面。 在其他平台上,您可以例如使用gecko