您好我的问题是如何解决问题...朋友有一个代码如下:
<div id="result">
<script type="text/javascript">
function selectColor(value){
return "#319336";
}
</script>
</div>
并在结果中调用jQuery .load()调用一个PHP文件,该函数发送一个像这样的JavaScript函数
<?php
function returnFuntion(){
return '<script type="text/javascript">
function selectColor(value){
switch(value){
case "a":
return "#000000";
break;
case "b":
return "#FFFFFF";
break;
default:
return "#319336";
}
}</script>';
}
?>
我不知道这是如何工作的,但适用于所有浏览器,我的朋友说“它的工作原理并不用担心”。怎么了?为什么JavaScript会识别新代码而不是旧代码?这是一个正确的方法吗?最初的问题是JavaScript函数返回必须改变从PHP获得的MySQL值。
答案 0 :(得分:1)
这些是函数声明,解析器在读取任何代码之前总是读取这些声明。
因此,在定义第二个函数时,只需覆盖第一个函数
function a(){
alert('Hello');
}
function a(){
alert('Second Function !!');
}
a(); // Call--
答案 1 :(得分:0)
理想情况下,脚本应该完美地运行,但第一个脚本真的不是在div中编写javascript的好方法。如果它不起作用,可能是因为函数在加载之前被调用。第二个很好,因为php正在格式化javascript,并准备打印在页面的某个位置。要记住的关键是首先应该加载/打印函数,然后调用它以避免任何错误。
答案 2 :(得分:0)
@luismy,在服务器和客户端之间交换数据而不是脚本总是更好。我只是好奇为什么你不在客户端实现UI逻辑,在服务器上实现应用程序逻辑?特别是对于这个例子,即使进行XHR调用也没有意义。
答案 3 :(得分:0)
如果您要加载JavaScript,请使用getScript()
让php代码返回内容就像编写外部文件一样。确保也设置内容类型。