【发布时间】:2011-11-02 21:14:56
【问题描述】:
被 jquery ajax 表单提交卡住了!这是sn-p的代码:
Javascript/HTML 代码:
<form action="">
<button type="submit" class="submit-button-minus" id="submit-minus" name="submit-minus"><span class="hide-text"></span></button>
</form>
<form action="">
<button type="submit" class="submit-button-plus" id="submit-plus" name="submit-plus"><span class="hide-text"></span></button>
</form>
<!--store current page id from php variable into javascript variable-->
<?php echo "<script> jsPageID = " .$page_id. ";</script>"; ?>
<?php echo "<script> jsUsername = '" .$_SESSION['username']. "' ;</script>"; ?>
<script type="text/javascript">
$('document').ready(function(){
jsPageID = parseInt(jsPageID);
$('#submit-minus').click(function(){
jsPlusOrMinus = "minus";
ajax_painting_rating(jsPlusOrMinus, jsPageID, jsUsername);
});
$('#submit-plus').click(function(){
jsPlusOrMinus = "plus";
ajax_painting_rating(jsPlusOrMinus, jsPageID, jsUsername);
});
function ajax_painting_rating(jsPlusOrMinus, jsPageID, jsUsername)
{
$.get(
'ajax-painting-rating.php',
{plus_or_minus: jsPlusOrMinus, page_id: jsPageID, user_name:jsUsername },
function(data){
$('#rating-value').html(data);
}
);
}
});
</script>
现在是 PHP 代码:
<?php
include("include_db_connection.php");
$get_plus_or_minus = $_GET['plus_or_minus'];
$get_page_id = $_GET['page_id'];
$get_user_name = $_GET['user_name'];
if($get_plus_or_minus == "plus")
{
$rating=1;
$rating_insert_query = "INSERT INTO ..............";
$rating_insert_result = mysqli_query($db_conn, $rating_insert_query);
}
if($get_plus_or_minus=="minus")
{
$rating=-1;
$rating_insert_query = "INSERT INTO ..............";
$rating_insert_result = mysqli_query($db_conn, $rating_insert_query);
}
/* more queries here....*/
/*this is what i will be returning back from the server, to the ajax request*/
echo $FINAL_RESULT;
?>
现在,当我尝试执行上述代码时,“有时”表单会提交给 db。我想不出为什么“有时”的原因。
此外,在处理请求后,有些数据会以某种方式附加到 url。示例:如果网页的原始 url,在发出 ajax 请求之前类似于“page.html?id=6”,那么在执行 ajax 请求时,页面 url 被附加如下:
"page.php?id=6&submit-minus="(如果 submit-minus 按钮用于调用 ajax 请求)
我不明白为什么 submit-minus 会附加到 url,而且很少有数据会成功插入到数据库中。
感谢您的宝贵时间。
【问题讨论】:
标签: jquery html ajax forms url