[英]Passing PHP variables to JavaScript as variable through jQuery-AJAX load() function
我有2个文件, main.html
和search.php
。
在main.html
页面中,有这段代码:
$("#results").load("search.php",queryString,function(response,status,xhr){
... some code here
})
在search.php
页面中,有这段代码:
$image_id=mysql_insert_id() // getting the last ID of the last query - works perfectly
我想要做的是将此变量回显到main.html
文件并将其存储在一个名为im_id
的JS变量中,我可以通过main.html
页面调用它。
我试着这样做
echo "<script type=\"text/javascript\">$im_id=".mysql_insert_id()."</script>";
但它根本不起作用。
我找到了一种解决方法,即将内容存储在像这样的文本框中
echo "<script type=\"text/javascript\">$(\"#textbox\").val(".$image_id.")</script>";
然后在JScript中使用
$im_id=$("#textbox").val();
以及使用“中介”的许多其他方法但是没有直接设置变量的方法吗?
任何帮助,将不胜感激。
由于输出$im_id=1
,它不起作用,你应该输出var im_id = 1;
代替。
在你的PHP中:
echo "<script type=\"text/javascript\">var im_id = ".mysql_insert_id().";</script>";
如果它仍然无法工作,请查看生成的代码,而不是PHP源代码。 只需在浏览器中查看源代码,然后使用调试器找出错误的信息。
它不起作用的原因是php用双引号内的变量替换变量的值。 这样可以轻松模板化。 有关更多信息,请参阅php文档的变量解析部分 。
<?php $juice = "apple"; echo "He drank some $juice juice.".PHP_EOL; // Invalid. "s" is a valid character for a variable name, but the variable is $juice. echo "He drank some juice made of $juices."; ?>
上面的例子将输出:
He drank some apple juice. He drank some juice made of .
如果您想在javascript中以$开头的变量名称,请将双引号替换为单引号:
echo '<script type=\"text/javascript\">$im_id='.mysql_insert_id().'</script>';
或者,不要在变量名中使用$:
echo "<script type=\"text/javascript\">im_id=".mysql_insert_id()."</script>";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.