Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么使用jquery表单提交将url附加到ajax请求上?_Jquery_Html_Ajax_Forms_Url - Fatal编程技术网

为什么使用jquery表单提交将url附加到ajax请求上?

为什么使用jquery表单提交将url附加到ajax请求上?,jquery,html,ajax,forms,url,Jquery,Html,Ajax,Forms,Url,坚持使用jQueryAjax表单提交!下面是代码片段: Javascript/HTML代码: <form action=""> <button type="submit" class="submit-button-minus" id="submit-minus" name="submit-minus"><span class="hide-text"></span></button> </form&g

坚持使用jQueryAjax表单提交!下面是代码片段:

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
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;

?>


查询变量submit-minus和submit-plus被追加到url中,因为您正在执行GET,而GET将采用提交中的任何形式变量,并将它们追加到url中


我看不到足够多的数据库代码来告诉您为什么它有时有效,有时无效,但只有在设置了$get_plus_或_minus时,您才会向数据库写入代码。因此,如果您的url显示“submit-minus=”而没有任何值,您将不会写入数据库。

但这不应该是一个ajax请求吗?那么,使用GET会将任何数据附加到url中吗?另外,我注意到页面总体上再次加载,在这种情况下,我根本看不到ajax在执行时的效果。为什么会这样呢?您使用的是一个HTML按钮标记,它的类型为submit,这使得它可以提交表单。如果您将类型更改为button,它将不会提交FormooOpsiee。。!!!!这就解决了。想想看,仅仅将提交按钮的类型从“提交”改为“按钮”就可以解决整个问题!我花了2-3个小时摆弄代码,使用不同的表单post方法,还有什么不。。。!!!我根本不想看这句话!谢谢。。!!!这就是这个网站存在的原因:)只有一个小问题——点击加号/减号按钮,ajax请求在firefox中得到了正确处理。即使我一直点击这些按钮,ajax代码也会按照firefox的要求一次又一次地运行。然而,在IE中,代码只运行一次。在此之后,即使多次单击加号/减号按钮,代码也不会再次运行。这是IE的问题吗?