我认为这很简单,但我无法让它发挥作用。
我有两个文件。 main.html
和data.php
这两个文件位于服务器上的同一文件夹中。
我想从PHP
文件中获取一个字符串并在jQuery中使用它。在下面的示例中,我希望浏览器创建一个弹出窗口,文本为“xxxx”。我没有弹出窗口。
data.php
<?php
$var = "xxxx";
echo json_encode($var);
?>
main.html
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="scripts/jquery-1.11.1.js"></script>
<script>
$(document).ready(function() {
var testString = <?php $var = json_decode(file_get_contents('data.php'), true); echo $var; ?>;
alert(testString);
});
</script>
</head>
<body>
<h1>Test</h1>
</body>
</html>
任何参赛者?
答案 0 :(得分:2)
<!DOCTYPE html>
<html>
<head>
<script>
$(document).ready(function() {
$.ajax({
url:"data.php",
success:function(result){
alert(result);
}
});
});
</script>
</head>
<body>
<h1>Test</h1>
</body>
</html>
答案 1 :(得分:1)
第一个问题是在许多服务器上.html没有为PHP解析
第二个问题是file_get_contents
实际上会显示.php文件的完整内容(包括<?php
),这可能不是您想要的内容。
相反,我会使用AJAX请求,例如http://api.jquery.com/jquery.get/
为此,您需要在<head>
答案 2 :(得分:0)
你应该在html启动之前获取php数据,如下所示
<?php
$var = json_decode(file_get_contents('data.php'), true);
?>
<!DOCTYPE html>
<html>
<head>
<script>
$(document).ready(function() {
var testString = <?php echo $var; ?>;
alert(testString);
});
</script>
</head>
<body>
<h1>Test</h1>
</body>
</html>