Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
代码中的JavaScript和PHP有什么区别?_Php_Javascript - Fatal编程技术网

代码中的JavaScript和PHP有什么区别?

代码中的JavaScript和PHP有什么区别?,php,javascript,Php,Javascript,我的JavaScript部分有以下代码: var opConfig = new Product.Options(<?php echo $this->getJsonConfig(); ?>); 现在,在几行之后,我有以下代码: this.opConfig = new Product.Options(opconfig); opconfig变量具有相同的字符串abcd,但结果不同,此.opconfig看起来与以前不同。那么,我使用字符串作为param的方式有什么不同吗?我错过了什

我的JavaScript部分有以下代码:

var opConfig = new Product.Options(<?php echo $this->getJsonConfig(); ?>);
现在,在几行之后,我有以下代码:

this.opConfig = new Product.Options(opconfig);
opconfig
变量具有相同的字符串
abcd
,但结果不同,
此.opconfig
看起来与以前不同。那么,我使用字符串作为param的方式有什么不同吗?我错过了什么?对我来说,应该始终是同一个电话,即:

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(); ?>');

abcd
不是字符串变量。因此,您需要将其放入语音标记中,以便它成为字符串对象。您的输出现在将是:

var opConfig = new Product.Options('abcd');

如果您有
新产品.Options(abcd)
abcd
是一个变量名,而不是字符串。您需要添加引号,以便它最终成为新产品。选项('abcd'):

var opConfig=new Product.Options(“”);
//或
var opConfig=new Product.Options(“”);

无论哪种方式,您都需要确保PHP输出转义任何可能“破坏”字符串文字的字符,例如单引号(在第一个引号中)或双引号(在第二个引号中)或换行符(在任何一个引号中)。

我可以看出您缺少引号:

var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');
var opConfig=new Product.Options(“”);
更改下一行

var opConfig = new Product.Options(<?php echo $this->getJsonConfig(); ?>);
var opConfig=new Product.Options();

var opConfig=new Product.Options(“”);

不应在
中使用字符串
abcd
不是字符串。
“abcd”
将是字符串。
var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');
// OR
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(); ?>);
var opConfig = new Product.Options('<?php echo $this->getJsonConfig(); ?>');