我正在尝试用一些PHP代码回显整个html字符串到一个html页面,问题是,我无法将字符串存储到php变量中;
prependapp.php
<?php
include("db.php");
include("tolink.php");
$result=mysql_query("select * from messages order by msg_id desc");
$row=mysql_fetch_array($result);
$id=$row['msg_id'];
$msg=$row['message'];
$date=$row['date_sent'];
$msg= nl2br($msg);
$msg="<br>{$msg}<br>{$date}";
$app = <<<EOD
<li class="bar<?php echo $id; ?>">
<div align="left" class="post_box">
<span style="padding:10px"><?php echo $msg; ?> </span>
<span class="delete_button"><a href="#" id="<?php echo $id; ?>" class="delete_update">X</a></span>
<span class='feed_link'><a href="#" class="comment" id="<?php echo $id; ?>">comment</a></span>
</div>
<div id='expand_box'>
<div id='expand_url'></div>
</div>
<div id="fullbox" class="fullbox<?php echo $id; ?>">
<div id="commentload<?php echo $id; ?>" >
</div>
<div class="comment_box" id="c<?php echo $id; ?>">
<form method="post" action="" name="<?php echo $id; ?>">
<textarea class="text_area" name="comment_value" id="textarea<?php echo $id; ?>">
</textarea><br />
<input type="submit" value=" Comment " class="comment_submit" id="<?php echo $id; ?>"/>
</form>
</div>
</div>
</li>
EOD;
echo $app;
?>
html页面内的javascript
<script>
$(document).ready(function() {
$("#formID").validationEngine({
ajaxSubmit: true,
ajaxSubmitFile: "update_ajax.php",
success : function() {
alert("success exe!");
$("ol#update").load("prependapp.php");
$("ol#update li:first").slideDown("slow");
document.getElementById('content').value='';
$('#content').value='';
$('#content').focus();
alert("success exe");
},
failure : function() { alert("success fail"); }
})
});
</script>
我的prepend上的“测试”总是显示问题是$ app没有,有什么办法可以将大的html代码和其中的一些php代码添加到我的html页面中吗?
答案 0 :(得分:4)
你不能在javascript部分使用PHP代码。请注意PHP将在服务器端呈现,javascript将在客户端浏览器中执行。因此,浏览器无法访问任何PHP variables and objects
。
但是,您可以使用AJAX
。例如:
$.ajax({
url : "/server/prepend.php",
success : function(response)
{
$("ol#update").prepend(response);
},
});
将在服务器端执行php代码,并将结果预先添加到ol#update标记。