2014-04-15 25 views
0

得到執行我要寄給一些複選框被選中,他們在上面的代碼IM值設置到下PHP頁面使用Ajax call.but無法將其發送到AJAX調用Ajax調用任何非PHP

代碼如下下面

<html> 
<head> 
<title>Insert title here</title> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> 
</head> 
<body> 

<script type="text/javascript"> 
    function get_check_value() { 
     var c_value = []; 
     $('input[name="services"]:checked').each(function() { 
      c_value.push(this.value); 
     }); 
     return c_value.join(','); 
    } 
    $(document).ready(function(){ 
    $('#btnSubmit').on('click', function() { 
    alert("hi"); 
     //var os = $('#originState').val(); 
     \ //var c = $('#commodity').val(); 
     //var ds = $('#destState').val(); 
     var ser = get_check_value(); 
     //var queryString = "os=" + os; 
     var queryString = "&ser=" + ser; 
     alert("hi"); 
     $.ajax({ 
     //alert("ajax"); 
     type: "POST", 
     url: "sortingajax.php", 
     data: "query=" + queryString, 
     success: function (b) { 
      // alert(a+' ok. '+b) 
      $('#results').html(b); 
      console.log(b); 
     } 
    }); 

    }); 
}); 

</script> 
<form name="searchForm"> 
    <input type="checkbox" name="services" value="twic" />TWIC 
    <br/> 
    <input type="checkbox" name="services" value="enclosedTrucking" />Enclosed Trucking 
    <br/> 
    <input type="checkbox" name="services" value="flatBedTrucking" />Flat Bed Trucking 
    <br/> 
    <input type="submit" id="btnSubmit" value="Submit" /> 
</form> 
<div id="results"> 
</div> 
</body> 
</html> 

在上面code.When我選擇複選框從頁,並在submit.i的點擊想要將它們傳遞給下一個PHP頁面使用Ajax call.but它不是去下一個頁面,沒有任何反應來了返回....

請幫助吉斯

ajaxphp頁

<?php 

include('connection.php'); 
$query=$_GET['query']; 
echo $query; 
$countsql='SELECT * FROM XML'; 
    $countsql1=mysql_query($countsql); 
$numrows = mysql_num_rows($countsql1); 
$countArray2=array(); 
print($countsql); 
while($row = mysql_fetch_array($countsql1)) { 
    // Append to the array 


    $countArray2[] = $row; 



    //echo $row['PID']."<BR />"; 
} 

?> 
<?php 
foreach($countArray2 as $array) 
{ 



?> 
<div class="search"> 
hi 
</div> 

<?php $i++; } ?> 
+0

在那裏你正在調用get_check_value()函數? – Harman

+4

在你的代碼中是否是'\\''是一個錯字?你需要用你的'querystring'做一些事情,因爲這是一種無效的數據發送方式。因爲現在你會有'data:「query =&ser = twic」' – putvande

+0

是的,'\'正在破壞腳本。此外,要確定您的腳本是否正常工作,您應該發佈sortingajax.php的內容。 – Oli

回答

1

data: "query=" + queryString,是錯的,因爲"query=" +是一個語法錯誤。它應該是:

var queryString = "os="+os+"&ser="+ser; 

然後

data : queryString, 

或者你也可以格式化喜歡:

data : { 
     'ser' : ser, 
     'os' : os 
} 

再有就是事實,你的Ajax使用POST,但是你想在PHP中使用$ _GET而不是$ _POST或$ _REQUEST讀取請求。

+0

不是這樣的,'data'選項可能是一個查詢字符串(http://api.jquery.com/jQuery.ajax/) – hindmost

+1

不是當你使用POST。 – developerwjk

+1

POST或GET你可以使用查詢字符串 – Musa

0

你可以用這兩種賠償嘗試:

var data : "?ser=" + ser; // put '?' instead of '&' 

或者更jQuery的方式:

data : { ser : ser }, 

而且你缺少你阿賈克斯dataType

dataType : 'html', 

在PHP端,因爲這是一個POST請求,所以你必須把這個:

$query=$_POST['ser']; 
+0

我試過這個先生,但當我點擊提交按鈕時,它只是將複選框的值附加到url.not去爲阿賈克斯調用 – user3488008

+0

包括?導致它不適合我。 – developerwjk

0

也許你忘了防止Submit按鈕的默認行爲:

<script type="text/javascript"> 
function get_check_value() { 
    var c_value = []; 
    $('input[name="services"]:checked').each(function() { 
     c_value.push(this.value); 
    }); 
    return c_value.join(','); 
} 
$(document).ready(function(){ 
$('#btnSubmit').on('click', function (evt) { 

evt.preventDefault(); 

alert("hi"); 
    //var os = $('#originState').val(); 
    \ //var c = $('#commodity').val(); 
    //var ds = $('#destState').val(); 
    var ser = get_check_value(); 
    //var queryString = "os=" + os; 
    var queryString = "&ser=" + ser; 
    alert("hi"); 
    $.ajax({ 
    //alert("ajax"); 
    type: "POST", 
    url: "sortingajax.php", 
    data: "query=" + queryString, 
    success: function (b) { 
     // alert(a+' ok. '+b) 
     $('#results').html(b); 
     console.log(b); 
    } 
}); 

    }); 
}); 

</script>