0

我有两个 ajax 函数并使用第一个将一些数据传递给第二个但是当我查看 POST 时,我看到对于我被发送的变量我得到对象 Object 作为变量的值返回,而不是什么我期待一个字符串或一个整数。javascript看起来像这样,

    $('.career_select .selectitems').click(function(){
    var selectedCareer = $(this).attr('title');
    $.ajax({
        type: 'POST',
        url: '/roadmap/step_two',
        data: 'career_choice='+selectedCareer+"&ajax=true&submit_career=Next",
        success: function(html){
            $('.hfeed').append(html);
            $('#grade_choice').SelectCustomizer();
          }
    });
});

$('#grade_choice_options .selectitems').live('click', function(selectedCareer){
    var selectedGrade = $('#grade_choice_customselect').val();
    $.ajax({
        type: 'POST',
        url: '/roadmap/step_two',
        data: 'career_choice='+selectedCareer+'&grade='+selectedGrade+"&ajax=true&submit_grades=Next",
        success: function(html){
            window.location.replace("/roadmap/your_map");
        }
    });
});
4

1 回答 1

0

在您的第二个函数selectedCareer中,事件对象是由 jQuery 传递给方法的,您可能希望使用this它来获取单击了哪些项目,例如$(this).val()用于$(this).text()获取元素文本的输入。

您还可以将数据传递给一个对象,特别是如果它是一个复杂的值(例如可能包含 a &),如下所示:

 data: { career_choice: $(this).val(),
         grade: selectedGrade,
         ajax: 'true',
         submit_grades: 'Next' }
于 2010-08-19T14:12:46.297 回答