PHP Var到外部JS —没有全局,Ajax或Eval
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PHP Var到外部JS —没有全局,Ajax或Eval,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1689字,纯文字阅读大概需要3分钟。
内容图文
![PHP Var到外部JS —没有全局,Ajax或Eval](/upload/InfoBanner/zyjiaocheng/656/cff0dc5c3c9841eabe44f2a4f842f0a7.jpg)
如何在不创建全局变量的情况下从外部JavaScript文件中的PHP变量访问JSON数组?
我有一个PHP变量$customers,其中包含json_encoded数组:
$customers = [{"id":"12","name":"Abe Adams"},{"id":"17","name":"Bill Brown"}]
我想在jQuery UI自动完成文本输入中使用数组的内容.
我宁愿使用$customers数组中的值,而不是向Ajax请求自动完成选项,而是将其传递并准备在用户到达页面时使用.
我知道我可以在加载外部JavaScript文件之前将$customers的内容传递给JavaScript变量:
<script>var customers = <?php echo $customers; ?></script>
<script src="external.js"></script>
但这需要创建一个全局JavaScript变量.
有没有更好的方法可以从我的外部JS文件访问$customers数组?
之前曾多次问过这个问题:
问题:Access PHP var from external javascript file
接受的答案:Create global var
问题:Pass vars from php to js without ajax
最佳答案:Use Ajax
问题:php file send variable to .js external file
最佳答案:Use Ajax
问题:Reading a PHP file variables from external JS
最佳答案:Use eval
问题:Return JSON data from PHP, and use it using Javascript
接受的答案:Create global var
解决方法:
您还可以使用requirejs“模式”:
external.js:
define([], {
init: function (customerData) {
... all your setup
}
});
在页面上:
require(['external'], function (externalSetupFile) {
var customers = <?php echo $customers?>;
externalSetupFile.init(customers);
});
(通常)使用某种“ init”方法激发网站的增强功能的一大好处是,您可以执行以下操作.例如:
Application = {
init: function (bootstrapData) {
UserModel.create(bootstrapData.userModelData); //for example
this.config = bootstrapData;
this.setupUI();
},
setupUI: function () {
//setup autocomplete and the like
$("#someEl").autocomplete(this.config.customers);
}
}
更好的部分是,您可以将所做的工作分成几个小部分,这使测试和调试变得非常容易.
内容总结
以上是互联网集市为您收集整理的PHP Var到外部JS —没有全局,Ajax或Eval全部内容,希望文章能够帮你解决PHP Var到外部JS —没有全局,Ajax或Eval所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。