【发布时间】:2012-02-10 00:41:51
【问题描述】:
我试图在使用 ajax 提交后显示数据。 ajax 在提交时工作至今,但我必须刷新才能看到它。
这是 jquery:
$('#submit-quote').live("submit", function(){
var formdata = $(this).serialize();
$.post("add.php", formdata, function(data) {
console.log("success");
});
return false;
});
add.php中的php:
require('includes/connect.php');
$quote = $_POST['quote'];
$quotes = mysql_real_escape_string($quote);
echo $quotes . "Added to database";
mysql_query("INSERT INTO entries (quote) VALUES('$quotes')")
or die(mysql_error());
这是我用来获取数据并显示它的 HTML/PHP:
<?php
require("includes/connect.php");
$result = mysql_query("SELECT * FROM entries", $link);
while($row = mysql_fetch_array($result)){ ?>
<div class="quote-wrap group">
<span>Like</span>
<div class="quote">
<p>
<?php echo htmlentities($row['quote']); ?>
</p>
</div><!-- /.quote -->
</div><!-- /.quote-wrap -->
<?php } ?>
如果需要,以下是表格:
<form id="submit-quote" method="post" >
<h2> Submit A Quote </h2>
<textarea name="quote">
</textarea>
<input type="submit" name="submit" value="Submit!">
</form>
Ajax在提交的时候有效,但是发送后我也需要显示,怎么办?
【问题讨论】:
-
你想显示什么,你的成功信息还是提交到数据库的数据?
-
您知道,
live在 jQuery 1.7.1 中已被弃用。您应该改用on。 api.jquery.com/on 旧版本的 jQuery 应该使用delegate而不是live。 -
在我看来,您只需插入 $quote 即可对 SQL 注入持开放态度,除非我错了,而且这不仅仅是字符串插值。小心!
-
感谢 david 和 john,我只是一个初学者,所以我不太清楚:/ 刚开始接触这些东西。
标签: javascript php jquery ajax