Jquery 在Javascript函数中加载PHP变量

Jquery 在Javascript函数中加载PHP变量,jquery,ajax,function,Jquery,Ajax,Function,编辑:整个页面(HTML) 然后我调用这个函数 echo '<script type="text/javascript">'; echo 'foo('.$str.')'; echo '</script>'; echo'; 回音'foo('.$str.'); 回声'; 看起来像这样 <script type="text/javascript"> function foo(bar) {

编辑:整个页面(HTML)

然后我调用这个函数

echo '<script type="text/javascript">';
                echo 'foo('.$str.')';
                echo '</script>';
echo';
回音'foo('.$str.');
回声';
看起来像这样

<script type="text/javascript">
 function foo(bar) {
      if(bar == "all-all-all-all-") {
          $('#content').load('extern.php');
      }
  }
</script>

函数foo(bar){
如果(条==“全部-”){
$('#content').load('extern.php');
}
}

我曾尝试在其他页面上传递类似的变量,但效果很好,可能是函数中的某个部分?谢谢。

这是您的代码产生的结果

foo(all-all-all)
而不是

foo("all-all-all")
这是因为您没有正确编码字符串,它缺少引号。我的建议是在从PHP创建变量时始终使用
json\u encode
。这将始终创建对JS有效的内容,无论是包含需要编码的字符的字符串、布尔值、数字还是数组

<script type="text/javascript">
  foo(<?php echo json_encode($str)?> ) ;
</script>

foo();

这就是您的代码产生的内容

foo(all-all-all)
而不是

foo("all-all-all")
这是因为您没有正确编码字符串,它缺少引号。我的建议是在从PHP创建变量时始终使用
json\u encode
。这将始终创建对JS有效的内容,无论是包含需要编码的字符的字符串、布尔值、数字还是数组

<script type="text/javascript">
  foo(<?php echo json_encode($str)?> ) ;
</script>

foo();

echo'foo(“.$str.”;”;怎么样@布伦丹·麦肯齐是对的。您需要在中引用字符串javascript@BrendanMcKenzie仅仅添加引号是不够的,字符串可能包含需要转义的字符,请参见我的回答:echo'foo(“.$str.”;”@布伦丹·麦肯齐是对的。您需要在中引用字符串javascript@BrendanMcKenzie仅仅添加引号是不够的,字符串可能包含需要转义的字符,请参见我的回答。不幸的是,添加引号似乎没有什么区别,或者json_编码。@user1067577“似乎没有什么区别”没有多大帮助。更具描述性。PHP代码的输出是什么?什么不起作用?我保证你遗漏了一些东西…@user1067577调用
echo''的代码;回音'foo('.$str.');回声'正在生成一些HTML,输出是什么?如果没有输出,则有不同的输出problem@user1067577这没有意义:
echo'
必须输出
@user1067577您试图运行的新代码是什么?不幸的是,添加引号似乎没有什么区别,或者json编码。@user1067577“似乎没有什么区别”这不是很有帮助。更具描述性。PHP代码的输出是什么?什么不起作用?我保证你遗漏了一些东西…@user1067577调用
echo''的代码;回音'foo('.$str.');回声'正在生成一些HTML,输出是什么?如果没有输出,则有不同的输出problem@user1067577这没有意义:
echo'
必须输出
@user1067577您试图运行的新代码是什么?