JavaScript Var возвращает объект объекта, когда должен возвращать int или строку

StackOverflow https://stackoverflow.com/questions/3522611

  •  29-09-2019
  •  | 
  •  

Вопрос

У меня есть два функции 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