我有两个ajax函数,并使用第一个功能将一些数据传递到第二个功能,但是当我查看帖子时,我看到我正在发送的变量,我将对象返回为变量的值,而不是什么我期待着字符串或int。 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");
        }
    });
});
有帮助吗?

解决方案

在您的第二个功能中 selectedCareer 是事件对象通过jQuery传递到该方法中,您可能想使用 this 为了单击哪些项目,例如 $(this).val() 用于输入 $(this).text() 获取元素的文字。

另外,您可以将数据传递一个对象,尤其是如果它是一个复杂的值(例如,可能包含一个 &), 像这样:

 data: { career_choice: $(this).val(),
         grade: selectedGrade,
         ajax: 'true',
         submit_grades: 'Next' }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top