如何正确地将第二个变量传递给ajax调用

时间:2015-03-19 17:37:43

标签: javascript php jquery ajax

尝试创建年份/品牌/型号多变选择,虽然我确实让脚本正常工作,但似乎缺少的是能够传递年变量和make变量以获得最终模型结果

这是我现在的ajax功能:

        $(document).ready(function(){

            $(".year").change(function(){

                var year=$(this).val();
                var dataString = 'year='+ year;

                $.ajax({
                type: "GET",
                url: "ajax2.php",
                data: dataString,
                cache: false,
                success: function(html){
                    $(".make").html(html);
                } 
                });

            });





            $(".make").change(function(){

                var make=$(this).val();
                var dataString = 'make='+ make;

                $.ajax({
                type: "GET",
                url: "ajax2.php",
                data: dataString,
                cache: false,
                success: function(html){
                    $(".model").html(html);
                } 
                });

            });             

    });

我的问题是,如何在第二个ajax调用中成功传递year变量和make变量,以便我可以正确检索该年的模型并制作?

2 个答案:

答案 0 :(得分:1)

您发送的数据格式不正确。你可以试试这个:

 $(document).ready(function(){
        var data = {};
        $(".year").change(function(){

            var year=$(this).val();
            data['year'] = year;

            $.ajax({
            type: "GET",
            url: "ajax2.php",
            data: data,
            cache: false,
            success: function(html){
                $(".make").html(html);
            } 
            });

        });





        $(".make").change(function(){

            var make=$(this).val();
            data['make'] = make;

            $.ajax({
            type: "GET",
            url: "ajax2.php",
            data: data,
            cache: false,
            success: function(html){
                $(".model").html(html);
            } 
            });

        });             

});

答案 1 :(得分:0)

这个答案假设有一个值为#34; .year"

$(".make").change(function(){

            var make=$(this).val();
            var year=$(".year").val();
            var dataString = 'make='+ make, 'year='+ year;

            $.ajax({
            type: "GET",
            url: "ajax2.php",
            data: dataString,
            cache: false,
            success: function(html){
                $(".model").html(html);
            } 
            });

        });