[英]Executing javascript within PHP
我相信可以在PHP中执行一个java脚本函数,但是它会保留在服务器端而不是客户端吗? 我可以在PHP中调用.js函数,传递一些args,并让它返回到调用它的PHP吗?
我想要使用的脚本返回XML,我希望使用PHP获取用户输入,将它们传递给驻留在服务器上的 .js函数,然后获取返回的xml并在PHP部分中将其解析回来。
我问,因为我看到人们评论,因为.js是客户端而PHP是服务器端,他们不相处。 我希望通过在PHP中执行.js函数,我可以将.js调用欺骗来自本地机器(服务器)。
感谢您的任何信息!
你不能从PHP本身调用JavaScript。 PHP不是JavaScript引擎。
但是,有一个PECL扩展用于与V8连接:
您可以与(服务器端)JavaScript引擎连接。 看看node.js和
如果您找到了可以调用的服务器端Javascript解释器,您可以。 我没有使用过PHPJS(http://phpjs.berlios.de/),但它可能有效。
听起来你更好的选择是替换js代码,因为你所做的只是听起来不错。
我认为bpeterson钉了它。 但是如果你对AJAX感到不舒服,或者只是需要更多细节。
首先 - 对按钮(表单提交或其他方式)执行操作。 行动= “JavaScript的:yourJsFunc()”。 这个元素很可能通过PHP上的回声呈现,或者只是静态编写。
下一步 - 获取所需的参数。 我建议使用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});
}
这真的不像你看起来那么困难。
仅供参考,通过PHP称为XAJAX的 AJAX解决方案相对鲜为人知。 在这种情况下,它可能不会帮助你太多,但它允许你在PHP函数上进行AJAX调用。 虽然PHP没有javascript解释器,但XAJAX和Jquery的Ajax是前端代码与服务器端功能交互的绝佳方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.