ajax调用未使用$.post响应
我试图做的是通过jquery选择来获取所选元素的值。之后,通过ajax将这些值发布到php脚本中,然后从数据库中检索数据并将其显示在同一页面上(称为autocompete) 警报用于检查正确的值。正如上面的代码所示,这将从不同的输入元素获取值。 下面是我用来发布到php的代码ajax调用未使用$.post响应,ajax,jquery,Ajax,Jquery,我试图做的是通过jquery选择来获取所选元素的值。之后,通过ajax将这些值发布到php脚本中,然后从数据库中检索数据并将其显示在同一页面上(称为autocompete) 警报用于检查正确的值。正如上面的代码所示,这将从不同的输入元素获取值。 下面是我用来发布到php的代码 /* $.post("regsearch.php", {queryString: ""+value+"",queryString1: ""+marvalue+""
/*
$.post("regsearch.php", {queryString: ""+value+"",queryString1: ""+marvalue+"",queryStringfage: ""+fage+"",queryStringtage: ""+tage+""+queryStringfromh: ""+fromhvalue+""+queryStringtoh: ""+tohvalue+""+}, function(data) { // Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
*/
问题:
删除注释后,警报弹出窗口和结果均不显示。由于未发布任何查询,因此结果正常。主要部分是,当我使用下面的代码时,它只保持
m_状态
和edu_det1
有效
marvalue=$("input[name=m_status]:checked").val();
alert (marvalue);
var value = $("#edu_det1").val();
alert (value);
上面的邮政编码是
$.post("regsearch.php", {
queryString: ""+value+"",
queryString1: ""+marvalue+"",
queryStringfage: ""+fage+"",queryStringtage: ""+tage+""
}, function(data) {
// Do an AJAX call
$('#suggestions').fadeIn(); // Show the suggestions box
$('#suggestions').html(data); // Fill the suggestions box
});
此处未添加年龄和it验证代码。问题是什么?如何解决?首先,您应该使用控制台查看Javascript错误,因为我相信这会产生一些错误。例如,querystring是未定义的 我还建议使用console.log而不是alert,它不那么烦人,信息量也更大 然后:你不需要使用f.e.“+marvalue+”—只要使用marvalue即可。另一方面,应引用f.e.查询字符串
$.post("regsearch.php", {'queryString':value,'queryString1': marvalue,'queryStringfage':fage,'queryStringtage':tage,'queryStringfromh': fromhvalue,'queryStringtoh':tohvalue}, function(data) {
$('#suggestions').fadeIn();
$('#suggestions').html(data);
});
如果使用jquery
serialize()
函数,效果会更好。这将使您的生活更容易使用表单
var querstring = $(form).serialize();
我想使用ajax post jQuery.ajax()也可以做同样的事情,您甚至可以序列化页面中的字段 我已经完成了类似类型的代码 用户名是我要传递的字段
var data = $('#Username').serialize();
$('#usernameCheck').empty();
if (!$("form").validate().element("#Username"))
return;
$.ajax({
url: '/SignUp/CheckUsername',
type: 'POST',
data: data,
async: true,
success: function (result) {
if (result == 1) {
$('#usernameCheck').html('<font color=green>Username available</font>');
usernameOK = true;
}
else if (result == 2) {
$('#usernameCheck').html('<font color=red>Username not available</font>');
usernameOK = false;
}
else {
$('#usernameCheck').empty();
usernameOK = false;
}
}
});
var data=$('#Username').serialize();
$('#usernameCheck').empty();
if(!$(“表单”).validate().element(“#用户名”))
返回;
$.ajax({
url:“/SignUp/CheckUsername”,
键入:“POST”,
数据:数据,
async:true,
成功:功能(结果){
如果(结果==1){
$('#usernameCheck').html('Username available');
usernameOK=true;
}
否则如果(结果==2){
$('#usernameCheck').html('用户名不可用');
usernameOK=false;
}
否则{
$('#usernameCheck').empty();
usernameOK=false;
}
}
});
什么是查询字符串?除了在$.post()querystring中,我在任何地方都看不到这一点。querystring包含在php脚本中读取的值,如$querystring=$db->real\u escape\u string($\u post['querystring')代码>
var data = $('#Username').serialize();
$('#usernameCheck').empty();
if (!$("form").validate().element("#Username"))
return;
$.ajax({
url: '/SignUp/CheckUsername',
type: 'POST',
data: data,
async: true,
success: function (result) {
if (result == 1) {
$('#usernameCheck').html('<font color=green>Username available</font>');
usernameOK = true;
}
else if (result == 2) {
$('#usernameCheck').html('<font color=red>Username not available</font>');
usernameOK = false;
}
else {
$('#usernameCheck').empty();
usernameOK = false;
}
}
});