我有两个ajax函数并使用第一个将一些数据传递给第二个但是当我查看POST时,我看到对于变量我正被发送我得到的对象Object返回为变量的值而不是我期待的字符串或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");
}
});
});
答案 0 :(得分:0)
在您的第二个函数selectedCareer
中是jQuery传递给方法的事件对象,您可能希望使用this
来获取单击的项目,例如$(this).val()
输入$(this).text()
以获取元素的文本。
此外,您可以将数据传递给对象,特别是如果它是一个复杂的值(例如,可能包含&
),如下所示:
data: { career_choice: $(this).val(),
grade: selectedGrade,
ajax: 'true',
submit_grades: 'Next' }