目前我有一个表单按钮,当点击重新加载页面并发布数据然后运行mySQL命令时,这可以找到,但我需要立即显示数据而不是再次刷新,我可以重新加载页面查询,但然后耗尽我的资源。我曾尝试阅读AJAX,但我无法理解(或让它工作!!)
任何人都可以告诉我如何解决这个问题吗?我目前的代码是......
elseif(isset($_POST['int1'])) {
$interest = $_POST['int1'];
$qResult= mysql_query("DELETE from user_interests WHERE interest = '" . mysql_real_escape_string($interest) . "' and user_id = " . $usersClass->userID());
if(! $qResult )
{
die('Could not delete data: ' . mysql_error());
}
}
if($interest1 != ''){
print $interest1 . "<form method='post' action='#'><input type='hidden' value='".$interest1."' name='int1' id='int1'/><input type='submit' value='delete' /></form><br />";
}
答案 0 :(得分:1)
如果您刚刚进入AJAX,我建议使用jQuery - 它会让所有内容都能为您提供跨浏览器。
$('#id_of_your_submit_button').click(function(e){
$.ajax({
type: "GET",
url: "where_you_put_your_php.php",
data: "some_info=" + $('#your_input_or_whatever'),
success: function(msg){
$('#id_of_where_you_want_info_to_go').html(msg);
}
});
e.preventDefault(); // Tell submit button not refresh page
});
然后您的表单信息(数据)将放在您放入PHP的文件中名为$_GET['some_info']
的变量中。echo
输出要返回到文档的内容,它将显示在您想要信息的ID(请参阅代码中的名称。)
答案 1 :(得分:0)
尝试浏览此页面http://roshanbh.com.np/2008/04/ajax-login-validation-php-jquery.html ...我认为这正是您现在所需要的。如果您有任何疑惑,请随时回复。
答案 2 :(得分:0)
首先:阅读如何在网页中实现jQuery。
然后你可以使用jQuery框架来处理你的ajax查询。
首先,创建一个这样的代码块:
<?php
if(isset($_POST['ajax'])){
//Your code goes here
}
?>
从那里,创建一个Ajax函数:
$('#submit_button_id').click(function(){
jQuery.post('/webpage.php',{
'ajax' : true
},function(data){
//Stuff for your page to do when your page call loads.
},'html'
});
jQuery在他们的网站上有很多文档,所以你应该很容易弄清楚如何使用它。
答案 3 :(得分:0)
首先,使用jQuery库http://www.jquery.com!它极大地简化了使用javascript的工作。然后给你
<input type='submit' value='delete' id="delete_button" />
引用jQuery库(最好把它放在html的最底部,在标签的正上方)
然后用一段像这样的jQuery代码跟着它(你可能需要改变它以满足你的需求,但我试着非常接近)
<script type="text/javascript">
$(document).ready(function() { // this only happens when DOM is fully loaded
$('#delete_button').click(function(e){
var int1Val = $('#int1').val();
$.post("your_page.php",
{ int1: int1Val, maybeSomeOtherVar: "coolbeans value" },
function(data) { // if your_page.php sends any response back, then this function gets called
alert("Data loaded from server POST: " + data);
});
$('#someMessageDivID').text(int1Val); // to immediately display the form value somewhere
e.preventDefault(); // I'm not sure if you need this if you also have return false below, but I always put both just to make sure the form doesn't submit on its own, because we have already done it above
return false;
});
});
</script>
您可以使用AJAX创建一些非常时髦的桌面感觉网页,所以尽情了解它。我希望这有帮助!