0

私は 2 つの ajax 関数を持っており、最初の関数を使用して 2 番目の関数にデータを渡しますが、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

2 番目の関数selectedCareerは、jQuery によってメソッドに渡されるイベント オブジェクトです。要素のテキストを取得するための入力などthis、クリックされた項目を取得するために使用する可能性があります。$(this).val()$(this).text()

また、データをオブジェクトに渡すこともできます。特に、データが複雑な値の場合 (たとえば、 が含まれている場合&)、次のようになります。

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