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


How to properly pass a second variable to an ajax call

试图创建一个year/make/model多更改选择,虽然我确实有脚本在运行,但似乎缺少的是传递一个year变量和一个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变量,以便正确地检索当年的模型并进行make?

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

 $(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);
            } 
            });
        });             
});

这个答案假设有一个为".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);
            } 
            });
        });