gpt4 book ai didi

php - 当 JS 需要 PHP 变量时,如何将 javascript 与 PHP 分开?

转载 作者:可可西里 更新时间:2023-11-01 12:34:43 25 4
gpt4 key购买 nike

下面是我使用 jquery 和 PHP 看到的一小段代码。

请注意第 5 行的 PHP 部分,我通常将我的 javascript 放在单独的文件中,所以我如何才能将我的 JS 保存在单独的文件中,但在需要时仍然使用 PHP,如下所示?

//when the DOM is ready  
$(document).ready(function(){
//settings on top
var domain = 'http://davidwalsh.name/';
var initialPosts = <?php echo get_posts(0,$_SESSION['posts_start']); ?>;
//function that creates posts
var postHandler = function(postsJSON) {
$.each(postsJSON,function(i,post) {

最佳答案

我通常做的是:

  • 将尽可能多的 JS 放在 .js 文件中(用于在客户端缓存等)
  • 这段 JS 代码使用了一个 JS 变量
  • 该 JS 变量是从 PHP 文件声明/初始化的;这是唯一需要在服务器端执行一些代码的部分,实际上

例如,我想我会有这样的东西:

我的文件.php :

var thisIsMyJSVar = '<?php echo $test; ?>';

因此,在 PHP 中,我们声明一个变量并设置它的值。这是“动态”部分。

并且,在 my-file.js 中:

//when the DOM is ready  
$(document).ready(function(){
//settings on top
var domain = 'http://davidwalsh.name/';
var initialPosts = thisIsMyJSVar; // Use the JS variable declared in the PHP file
//function that creates posts
var postHandler = function(postsJSON) {
$.each(postsJSON,function(i,post) {

这里,在静态JS文件中,我们只使用值;这里没有任何内容是动态的,并且该文件可以由客户端缓存 -- 不会在每个页面上重新下载。


这个想法的问题是 JS 文件依赖于在 PHP 文件中完成的一些初始化:-(

所以,在 JS 文件中有一个“默认值”可能是个好主意,以防万一......


另外,你必须有一个好的命名约定,不要有多个文件使用/声明/依赖同一个 JS 变量;实际上,将所有“配置变量”放入单个 javascript 对象中可能是个好主意,以免污染全局命名空间...

关于php - 当 JS 需要 PHP 变量时,如何将 javascript 与 PHP 分开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1316203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com