是否可以将值发布到外部javascript文件?

时间:2010-12-01 04:29:27

标签: php javascript jquery

干草,

我想知道是否可以在外部javascript文件中执行php代码? 例如,我需要阅读用户语言等。

4 个答案:

答案 0 :(得分:1)

如果将PHP处理程序添加到text/javscript,则可以在js文件中运行PHP。

<Files *.js>
AddType application/x-httpd-php .js
</Files> 

请确保您的JavaScript文件标识为...

 header('Content-Type: text/javascript');

但是...

可以想象,通过PHP运行的每个JavaScript文件都不是一个好主意。

那么将要使用的是这个......

<script type="text/javascript">
var lang = '<?php echo $lang; ?>';

</script>
<script type="text/javascript" src="/js/common.js"></script>

然后在common.js内,您可以访问lang变量。

答案 1 :(得分:0)

您可以运行PHP来生成JavaScript文件,然后用户的浏览器将运行该文件。

但是PHP在服务器端运行。没有办法将PHP发送给用户运行。

答案 2 :(得分:0)

目前尚不清楚你的问题究竟是什么......

但您可以通过AJAX执行PHP /服务器端语言。如果您还没有,我建议您使用javascript framework。 (我更喜欢jQuery)。

这是使用jQuery进行AJAX调用的基本示例。

PHP

//yourscript.php
echo "ajax is awesome!";

的JavaScript

$.ajax({
  url: 'yourScript.php',
  success: function(response){
    //alerts "ajax is awesome!"
    alert(response);
  }
});

如果您查看jQuery ajax method上的一些文档,让您了解ajax的用途。 它基本上是从你的问题的表达方式向后工作。在服务器端启动ajax调用,php脚本响应。所以从本质上讲,它实现了同样的目标。

真正的诀窍是如何格式化数据。我使用XML但似乎JSON更受欢迎(根本不是事实......只是我的印象)。但无论哪种方式,您都能够传递复杂的数据集,这些数据极大地简化了数据解析过程。

答案 3 :(得分:0)

您可以致电:

<script src="myfile.js.php" type="text/javascript">

并在该文件中执行PHP。