我发送了一些被选中的复选框,它们的值带有ajax调用的下一个php页面。但在上面的代码中我无法将其发送到ajax调用
代码如下
<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>
在上面的代码中。当我从页面中选择复选框,然后单击submit.i想要通过ajax调用将它们传递到下一个php页面。但是它不会进入下一页并且没有回复....
请帮助伙伴
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 :(得分:1)
data: "query=" + queryString,
错误,因为"query=" +
是语法错误。它应该是:
var queryString = "os="+os+"&ser="+ser;
然后
data : queryString,
或者您可以将其格式化为:
data : {
'ser' : ser,
'os' : os
}
然后有一个事实是你的Ajax正在使用POST,但是你试图用PHP中的$ _GET而不是$ _POST或$ _REQUEST来读取请求。
答案 1 :(得分:0)
你可以尝试这两个修正:
var data : "?ser=" + ser; // put '?' instead of '&'
或更多jQuery方式:
data : { ser : ser },
你错过了ajax中的dataType
:
dataType : 'html',
在php方面,因为这是一个帖子请求,所以你必须把它放在:
$query=$_POST['ser'];
答案 2 :(得分:0)
也许您忘记阻止“提交”按钮的默认行为:
<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>