在PHP中执行javascript
我相信在PHP中执行java脚本函数是可能的,但它会保持服务器端而不是客户端吗?我可以在PHP中调用一个.js函数,向它传递一些参数,然后让它返回调用它的PHP吗 我想要使用的脚本返回XML,我想要使用PHP获取用户输入,将它们传递给驻留在服务器上的.js函数,然后获取返回的XML并在PHP部分中解析它 我这样问是因为我看到有人评论说,因为.js是客户端,PHP是服务器端,所以他们相处不好。我希望通过在PHP中执行.js函数,我可以伪造来自本地机器(服务器)的.js调用在PHP中执行javascript,php,javascript,Php,Javascript,我相信在PHP中执行java脚本函数是可能的,但它会保持服务器端而不是客户端吗?我可以在PHP中调用一个.js函数,向它传递一些参数,然后让它返回调用它的PHP吗 我想要使用的脚本返回XML,我想要使用PHP获取用户输入,将它们传递给驻留在服务器上的.js函数,然后获取返回的XML并在PHP部分中解析它 我这样问是因为我看到有人评论说,因为.js是客户端,PHP是服务器端,所以他们相处不好。我希望通过在PHP中执行.js函数,我可以伪造来自本地机器(服务器)的.js调用 谢谢你提供的任何信息 不
谢谢你提供的任何信息 不能从PHP本身调用JavaScript。PHP不是JavaScript引擎 但是,与V8接口有一个PECL扩展:
听起来你最好的选择是替换js代码,因为你所做的听起来是个坏主意。这并不像你想象的那么困难
仅供参考,有一个相对鲜为人知的通过PHP实现AJAX的解决方案,名为。在这种情况下,它可能不会对您有太多帮助,但它允许您对PHP函数进行AJAX调用。虽然PHP确实没有javascript解释器,但XAJAX和Jquery的Ajax是前端代码与服务器端功能交互的绝佳方式。我认为bpeterson做到了。但是如果您对AJAX感到不舒服,或者只是需要更多的细节 首先-在按钮上执行操作(表单提交或其他)。action=“javascript:yourJsFunc()”。这个元素可能是通过PHP上的echos呈现的,或者只是静态编写的 下一步-获取所需的参数。我建议使用jQuery或DOM方法,例如.$('#blah')或document.getElementById('blah').val() 然后-设置隐藏输入以存储响应、强制提交或执行ajax请求。您在PHP中使用您的值
function yourJsFunc()
{
var arg1 = $('#arg1').val //or equivalent DOM method
var arg2...
//serialize these if necessary
var yourXML = outsideJSFunction(arg1, arg2, etc);
$('#invisibleDiv').html('<form id="yourForm" method="POST"><input type="hidden" name="x" val="'+yourXML+'" /></form>');
$('#yourForm').submit();
//ALTERNATIVELY $.get("other.php", {myXml : yourXml}, function() {//whatever});
}
函数yourJsFunc()
{
var arg1=$('#arg1').val//或等效的DOM方法
变量arg2。。。
//如有必要,将其序列化
var yourXML=outsideJSFunction(arg1、arg2等);
$('#invisibleDiv').html('');
$(“#您的表单”).submit();
//或者$.get(“other.php”,{myXml:yourXml},function(){//whatever});
}
简短的回答是否定的。我认为您可能需要稍微更改一下应用程序的设计。您是否可以实现在PHP中返回XML的函数(或者是否有一个PHP等价物来完成JS所做的工作)?PHP没有Javascript解释器。确实存在,但是在PHP代码中重新实现JS函数不是更容易吗?Javascript是第三方的。我希望有一个PHP版本。看起来很有趣。我要去看看。谢谢。我有一个为我的存储服务器运行的文件搜索应用程序,它有一个Javascript界面。服务器的web前端目前应该是PHP。我只是想将搜索功能包含到web前端中。@Robolulz所说的web前端是指在浏览器中运行的部分吗?如果是这样,为什么不直接从浏览器而不是从PHP调用storage server JS接口呢?另外,存储服务器是CouchDB还是其他NoSQL DB?对不起,希望这能有所帮助。我有一台linux机器作为我的文件服务器运行,我给了它一个web前端来处理一些需要的内容管理用户。这一切都在PHP中实现;很简单。我只想在web前端添加搜索系统上文件的功能。我目前使用的文件内搜索只提供了一个用于执行搜索的Javascript接口,它返回带有搜索结果(文件位置、排名等)的xml。我需要从PHP到JavaScript的用户输入,然后XML结果从JavaScript到PHP.@ RoBOLURZ,最大的问题是你是否真的需要PHP在中间。