Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.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
ajax调用未使用$.post响应_Ajax_Jquery - Fatal编程技术网

ajax调用未使用$.post响应

ajax调用未使用$.post响应,ajax,jquery,Ajax,Jquery,我试图做的是通过jquery选择来获取所选元素的值。之后,通过ajax将这些值发布到php脚本中,然后从数据库中检索数据并将其显示在同一页面上(称为autocompete) 警报用于检查正确的值。正如上面的代码所示,这将从不同的输入元素获取值。 下面是我用来发布到php的代码 /* $.post("regsearch.php", {queryString: ""+value+"",queryString1: ""+marvalue+""

我试图做的是通过jquery选择来获取所选元素的值。之后,通过ajax将这些值发布到php脚本中,然后从数据库中检索数据并将其显示在同一页面上(称为autocompete)

警报用于检查正确的值。正如上面的代码所示,这将从不同的输入元素获取值。 下面是我用来发布到php的代码

/*                              
$.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;
                }

            }
        });