代码中的JavaScript和PHP有什么区别
JavaScript and PHP in code - whats the difference?
我的JavaScript部分有以下代码:
var opConfig = new Product.Options(<?php echo $this->getJsonConfig(); ?>);
PHP调用返回了一些字符串,为了方便起见,假设字符串是abcd。所以这个代码的结果是:
var opConfig = new Product.Options(abcd);
现在,几行之后,我有了这个代码:
this.opConfig = new Product.Options(opconfig);
opconfig
变量具有相同的字符串abcd
,但结果不同,this.opConfig
看起来与以前不同。那么,我使用字符串作为参数的方式有区别吗?我错过了什么?对我来说,它应该总是相同的调用,即:
new Product.Options(abcd)
想法?
添加:JS代码中的完整调用如下所示:
var opConfig = new Product.Options({"16":{"26":{"price":5,"oldPrice":5,"priceValue":"5.0000","type":"fixed","excludeTax":5,"includeTax":5},"28":{"price":8,"oldPrice":8,"priceValue":"8.0000","type":"fixed","excludeTax":8,"includeTax":8},"27":{"price":10,"oldPrice":10,"priceValue":"10.0000","type":"fixed","excludeTax":10,"includeTax":10}},"14":{"price":0,"oldPrice":0,"priceValue":"0.0000","type":"fixed","excludeTax":0,"includeTax":0},"15":{"price":0,"oldPrice":0,"priceValue":"0.0000","type":"fixed","excludeTax":0,"includeTax":0}});
param作为对象到达被调用的函数,不知道为什么。用另一种方式调用它,似乎是同一个字符串作为字符串到达它。有人能帮忙吗?
更改为:
var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');
opconfig
是一个字符串变量,因此它将其作为参数进行微调。
而您的PHP代码将呈现:
var opConfig = new Product.Options(abcd);
abcd
不是字符串变量。因此,您需要将其放入语音标记中,使其成为字符串对象。你现在的输出是:
var opConfig = new Product.Options('abcd');
如果您有new Product.Options(abcd)
,那么abcd
是一个变量名,而不是字符串。您需要添加引号,使其最终成为new Product.Options('abcd')
:
var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');
// OR
var opConfig = new Product.Options("<?php echo $this->getJsonConfig(); ?>");
无论哪种方式,您都需要确保PHP输出转义任何可能"破坏"字符串文字的字符,例如,单引号(在第一个中)或双引号(在第二个中),或换行符(在任一个中)。
我可以看到你缺少引号:
var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');
更改下线
var opConfig = new Product.Options(<?php echo $this->getJsonConfig(); ?>);
至
var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- 在ember/handlers中使用value和valueBinding有什么区别
- 这两个关于 JavaScript 作用域链的例子有什么区别?
- Math.min()和Math.max()之间有什么区别?在Javascript中
- angularjs中的ng网格和ui网格有什么区别
- webpack开发模式和生产构建模式之间有什么区别
- 缓存!saveLocations()和addLocation()函数有什么区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 以下两者在javascript中有什么区别
- jquery.js和jquery.lite.js有什么区别
- 通过Nuget安装Angular JS和Angular JS核心有什么区别
- XMLHttpRequest对象的open()和send()方法之间有什么区别
- 这两种不同的创建对象文字的方法有什么区别
- jQuery中这两个词有什么区别
- 在Javascript语法中:和::和:::有什么区别
- getElementById 和 getElementsByClassName 有什么区别?
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- 在使用JS的Ajax调用中,ajaxComplete和beforesend之间有什么区别
- $(e.target).find和template.find('input').value之间有什么区别
- 在javascript中,在变量名之前使用var有什么区别/优势吗