我如何一起使用PHP和JavaScript?从我自己的研究来看,这似乎是不可能的.我知道他们是不同的,他们每个人都有自己特殊的事情.但是,假设您正在验证表单.你使用javascript来验证表单,然后如果没有错误,你运行php来插入一个记录.你会怎么做?有没有办法在javascript中运行php或调用php方法?
通常,您会看到Javascript用作客户端代码.这意味着访问您网站的浏览器将下载您的Javascript代码,编译并自行运行.客户端代码只是意味着客户端(访问您网站的人)运行代码.
另一方面,PHP用作服务器端代码.这意味着您的Web服务器会解析并运行您的代码.服务器端代码只是意味着代码在您的Web服务器上运行.
您可以从PHP代码向Javascript提供信息.例如:
<?php
$myVariable = 'a testing variable';
?>
<script type='text/javascript'>
var fromTheServer = '<?php echo $myVariable; ?>';
</script>
Run Code Online (Sandbox Code Playgroud)
来自TheServer的Javascript变量设置为php变量myVariable的值.所有这些实际上正在输出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>
Run Code Online (Sandbox Code Playgroud)
现在你已经看到了如何将PHP与Javascript集成一下.再次,这不是真正的集成,只是从服务器输出信息.如何向服务器发送信息?这就是AJAX的用武之地.
假设您正在使用Javascript实现拖放购物车.这个想法是用户从您的网站中挑选一个项目并将其拖到他们的购物车中.放弃该项目后,该项目应添加到服务器上的用户购物车中.您将使用AJAX将项目编号发布到服务器并等待服务器告诉您项目是否已成功添加.注意:您可以使用本机Javascript代码构建自己的AJAX方法,但是,当您可以使用内置的框架时,为什么要这样做呢?我通常使用jQuery,但是你可以使用其他许多JS框架.
以下非常简单的示例显示了在上述情况下与Javascript和php的交互如何.它使用jQuerys$.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>
Run Code Online (Sandbox Code Playgroud)
好的,现在你可以非常简单地看看如果 javascript被用作客户端代码,php和Javascript是如何运作的.
Javascript也可以用作服务器端代码,例如,IIS允许您运行与VBScript相切的JScript.
<script type='text/javascript' runat='server'>
Response.Write("MS Server here.")
</script>
Run Code Online (Sandbox Code Playgroud)
除此之外,CommonJS还为许多项目正在实施的服务器端Javascript代码提供API.您可能已经听说过其中一些特别是Node.js.其中一个项目可能允许你与彼此一起运行php和javascript,你必须看.
底线是,Javascript不仅是客户端代码.它只是可以在服务器或客户端上执行的代码,或者作为清理iTunes库的方法.
| 归档时间: |
|
| 查看次数: |
13436 次 |
| 最近记录: |