Php 如何在ajax响应页面中执行包含javascript函数的页面?
在这里,我花了整整一天的时间来解决我现在面临的问题。让我解释一下Php 如何在ajax响应页面中执行包含javascript函数的页面?,php,javascript,ajax,Php,Javascript,Ajax,在这里,我花了整整一天的时间来解决我现在面临的问题。让我解释一下 *photo.php - (Main php file)* …. …. (header goes here…) …. *<script src="scripts/photogallery.js" type="text/javascript"></script>* …. …. (ajax refresh script goes here…) …. **http1.open("GET", "photo_x
*photo.php - (Main php file)*
….
…. (header goes here…)
….
*<script src="scripts/photogallery.js" type="text/javascript"></script>*
….
…. (ajax refresh script goes here…)
….
**http1.open("GET", "photo_x.php?id1=" + escape(sIdtn1), true);**
….
…. ( body/coding goes here…)
….
…. **<script type="text/javascript"> initGalleryScript(); </script> // this script is inside the ajax refresh tag**
….
*Photo_x.php - (ajax refresh file)*
….
…. (coding goes here…)
….
…. **<script type="text/javascript"> initGalleryScript(); </script> // I need to execute this script which is not working currently.**
*photo.php-(主php文件)*
….
…. (标题在这里…)
….
**
….
…. (这里是ajax刷新脚本…)
….
**http1.open(“GET”、“photo_x.php?id1=“+escape(sIdtn1),true)**
….
…. (正文/编码在这里…)
….
…. ** initGalleryScript();//此脚本位于ajax刷新标记内**
….
*Photo_x.php-(ajax刷新文件)*
….
…. (这里是编码…)
….
…. ** initGalleryScript();//我需要执行这个脚本,它目前不工作**
请帮助我找到在ajax响应页面中执行javascript函数的解决方案…
提前感谢。您的问题不太清楚您真正想要做什么,但仅从问题的主题判断,我猜您希望从服务器发出ajax请求,并获取一些javascript,以便在当前页面的上下文中执行 如果您需要从服务器返回的只是数据,那么可以使用JSON或JSONP,这是一种以javascript格式从服务器返回数据的方法,其中数据表示为javascript数据结构,可以由浏览器中的javacscript引擎执行并解析 在某些情况下,ajax请求本身在主javascript中包含回调函数的名称,您希望JSONP响应调用该函数。下面是关于此回调如何工作的讨论: 如果您为从服务器返回的内容编写自己的响应处理程序,那么可以对返回的代码调用eval,并且可以在响应中添加任何类型的javascript,包括代码。这样做时需要注意一些安全问题,但它也可以这样工作
如果代码是提前知道的(通常是这样),那么您可能实际上不需要从服务器返回代码。您可以只在原始页面中包含代码,也可以通过插入脚本标记动态加载代码,然后ajax响应可以只是数据。通常ajax响应处理程序允许您指定“成功”处理程序。在这里,您可以调用任何其他需要的函数。您不需要指定正在使用的ajax库(如果有的话),因此这是最好的选择。您不能将函数放在JSON中。我主要考虑的是JSONP(虽然我最初编写了JSON),但无论如何,我已经修改了答案。您可以将函数写入JSON中的字符串,然后
eval()
。不过那会很难看的。