为什么这个JS变量在我的PHP中工作
我在一个PHP文件中有一个JS脚本,用脚本标签包装,出于某种奇怪的原因,它工作得很好 我通常会通过AJAX将JS变量分配给PHP,但我错误地尝试了这个方法,效果很好。你知道为什么吗为什么这个JS变量在我的PHP中工作,php,javascript,jquery,Php,Javascript,Jquery,我在一个PHP文件中有一个JS脚本,用脚本标签包装,出于某种奇怪的原因,它工作得很好 我通常会通过AJAX将JS变量分配给PHP,但我错误地尝试了这个方法,效果很好。你知道为什么吗 $(document.body).on("change","select[name=city]", function(){ var v = $(this).val().replace("%",""); if( v != "undefined" && v != undefined ){
$(document.body).on("change","select[name=city]", function(){
var v = $(this).val().replace("%","");
if( v != "undefined" && v != undefined ){
<?php $options['tax'] = v; ?>
}
});
$(document.body)。在(“更改”、“选择[name=city]”上,函数()
var v=$(this.val().replace(“%”,“”);
如果(v!=“未定义”&&v!=未定义){
}
});
编辑:所以在点击事件之后,我将通过JS显示php变量,并显示正确的值。
这对我来说毫无意义
编辑:所以当我将v赋值给php变量时,就像是赋值一个常量,然后
当我使用控制台$eshooptions['tax']在JS上输出它时,它抛出一个'v',它将其解释为javascript变量 它不起作用了。php是无效的
<?php $options['tax'] = v; ?>
^---this is an undefined constant in PHP.
由于此代码实际上没有输出任何内容,因此浏览器将看到:
if (v != "undefined" && v != undefined) {
} // <-- look ma, no php!
if(v!=“未定义”&&v!=未定义){
}它不起作用了。php是无效的
<?php $options['tax'] = v; ?>
^---this is an undefined constant in PHP.
由于此代码实际上没有输出任何内容,因此浏览器将看到:
if (v != "undefined" && v != undefined) {
} // <-- look ma, no php!
if(v!=“未定义”&&v!=未定义){
}//以后使用的$options['tax']
是什么?分配给会话variableQuantum吗?这真的不应该起作用,因为PHP变量以美元符号开头。v!=“未定义”&&v!=未定义的
??@Ignacio:您必须给我们一个可复制的示例。目前,我们需要面对的只是怀疑。以后使用的$options['tax']
是什么?分配给会话变量Quantum?这真的不应该起作用,因为PHP变量以美元符号开头。v!=“未定义”&&v!=未定义的
??@Ignacio:您必须给我们一个可复制的示例。目前,我们所要做的就是怀疑。在浏览器中的页面上执行查看源代码。您将看到if()块中没有任何内容。它不“工作”。它只是没有抛出任何错误,因为除了v
上缺少引号之外,这些都没有根本性的错误。事实上,php应该在执行这段代码时发出通知weird@Ignacio不是v
在错误行中指定了值。因此,v
在Javascript中可以正常工作。它是已损坏的$options['tax']
(它包含字符串'v'
)。在何处使用变量?在php中?还是用js?你确定这不是巧合吗?JS代码绝对不可能设置PHP变量,除非您正在进行ajax调用,并且有一个方法可以在PHP中首先设置该变量;变成这个console.log(v);这就是为什么它会显示正确的值:/do a在浏览器的页面上查看源代码。您将看到if()块中没有任何内容。它不“工作”。它只是没有抛出任何错误,因为除了v
上缺少引号之外,这些都没有根本性的错误。事实上,php应该在执行这段代码时发出通知weird@Ignacio不是v
在错误行中指定了值。因此,v
在Javascript中可以正常工作。它是已损坏的$options['tax']
(它包含字符串'v'
)。在何处使用变量?在php中?还是用js?你确定这不是巧合吗?JS代码绝对不可能设置PHP变量,除非您正在进行ajax调用,并且有一个方法可以在PHP中首先设置该变量;变成这个console.log(v);这就是它显示正确价值的原因:/