Jas*_*vis 8 javascript php jquery
下面是我用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) {
Run Code Online (Sandbox Code Playgroud)
Pas*_*TIN 10
我通常做的是:
例如,我想有类似的东西,我想:
my-file.php:
var thisIsMyJSVar = '<?php echo $test; ?>';
Run Code Online (Sandbox Code Playgroud)
因此,在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) {
Run Code Online (Sandbox Code Playgroud)
在这里,在静态JS文件中,我们只使用该值; 这里没有什么是动态的,这个文件可以被客户端缓存 - 不能在每个页面上重新下载.
这个想法的问题是JS文件依赖于在PHP文件中完成的一些初始化:-(
所以,在JS文件中有一个"默认值"可能是个好主意,以防万一......
此外,你必须有一个很好的命名约定,没有几个文件使用/声明/取决于相同的JS变量; 实际上,将所有"配置变量"放在一个javascript对象中,不污染全局命名空间可能是一个好主意......