通常你会看到 Javascript 被用作客户端代码。这意味着访问您网站的浏览器将下载您的 Javascript 代码,对其进行编译并自行运行。客户端代码仅意味着客户端(访问您网站的人)运行代码。
另一方面,PHP 被用作服务器端代码。这意味着您的 Web 服务器会解析并运行您的代码。服务器端代码只是意味着代码在您的 Web 服务器上运行。
您可以从 PHP 代码向 Javascript 提供信息。例如:
<?php
$myVariable = 'a testing variable';
?>
<script type='text/javascript'>
var fromTheServer = '<?php echo $myVariable; ?>';
</script>
JavaScript 变量来自服务器设置为 php 变量的值我的变量。所有这一切实际上都是将 php 变量的值作为字符串输出,Javascript 使用该字符串。这种方法可能很有用,例如,如果您想要用户当前在购物车中拥有的购物车商品的 Javascript 数组。
<?php
// get some shopping cart items using a function
$shoppingCartItemsArray = getShoppingCartItems();
?>
<script type='text/javascript'>
var shoppingCartItemsArray = "<?php echo implode('|', $shoppingCartItemsArray); ?>";
// split the string value by the | delimeter to get an array
shoppingCartItemsArray = shoppingCartItemsArray.split('|');
</script>
现在您已经了解了如何将 php 与 Javascript 集成一点。再说一次,这真的不是整合,只是从服务器输出信息。向服务器发送信息怎么样?这就是 AJAX 发挥作用的地方。
假设您正在使用 Javascript 实现拖放购物车。这个想法是,用户从您的网站上选择一个商品并将其拖到他们的购物车中。放开该商品后,该商品应添加到服务器上的用户购物车中。您将使用 AJAX 将商品编号发布到服务器,并等待服务器告诉您商品是否已成功添加。注意:您可以使用本机 Javascript 代码构建自己的 AJAX 方法,但是,当您可以使用内置该方法的框架时为什么要这样做呢?我一般用jQuery http://jquery.com/,但是有很多其他 JS 框架 http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks在那里你可以使用。
以下非常简单的示例展示了在上述情况下与 Javascript 和 php 的交互如何。它用jQuerys $.ajax(); http://api.jquery.com/jQuery.ajax/功能。
<?php
/** File: https://www.example.com/cart.php **/
// .. code
if($_POST['action'] === 'addItem'){
$result = addItemToCart($_POST['itemId']);
echo $result;
}
// ... code
?>
<script type='text/javascript'>
// code ....
$.ajax({
url: 'https://www.example.com/cart.php'
type: 'POST',
data: {
action: 'addItem',
itemId: getDraggedItem() // get the item id from a function
}
success: function(result){
$('#ServerMessage').html(result);
}
});
// code ....
</script>
好的,现在您可以非常简单地了解 php 和 Javascript 是如何工作的ifjavascript 被用作客户端代码。
Javascript 也可以用作服务器端代码,例如,IIS 允许您与 VBScript 相切地运行 JScript http://www.codeproject.com/Articles/4271/Sharing-JavaScript-source-code-between-client-side.
<script type='text/javascript' runat='server'>
Response.Write("MS Server here.")
</script>
除此之外,CommonJS http://www.commonjs.org/为服务器端 Javascript 代码提供 API,许多项目现在都在实现该 API。您可能听说过其中一些,Node.js http://nodejs.org/尤其。这些项目之一可能允许您相互结合运行 php 和 javascript,您必须看看。
最重要的是,Javascript 不仅仅是客户端代码。它只是可以在服务器或客户端上执行的代码,或者作为清理 iTunes 资料库的方法 http://ottodestruct.com/itunes/RemoveDeadTracks.txt.