gpt4 book ai didi

jquery - ruby on Rails - 如何使用ajax读取json文件?

转载 作者:行者123 更新时间:2023-12-01 04:03:55 25 4
gpt4 key购买 nike

我正在使用这些代码,

#In timetable/new.html.erb

<%= select_tag :department, options_for_select(
@departments.collect{ |d| [d.department_name, d.id]}, nil),{ id: "department_select" } %>



#In timetable controller

def update_lectures
if params[:department].to_i == 0
@lectures = Department.find_by(department_name: params[:department]).l ectures
else
@lectures = Department.find(params[:department]).lectures
end
respond_to do |format|
format.json { render :json => @lectures.to_json }
end




#In javascript

$("#department_select").change( function() {
$.ajax({
url: window.location.origin + '/timetable/update_lectures',
dataType: "json",
data: $("#department_select").serialize(),
success: function(data){
var str = '';
for(var i = 0; i < data.length; i++) {
str += '<li>' + data[name] + '</li>';
}
$('#lecture-container-body').html(str);
}
});
});

我想知道在#In javascript中如何读取“数据”?

当我使用 data[name] => "undefined"

当我在控制台中使用 data[lecture_name] => “Uncaught ReferenceError:lecture_name 未定义”

@lectures 将包含以下列:id、lecture_name、lecture_division、passfail 等。

(没有“名称”列)

请帮忙

最佳答案

首先,您没有在 for 循环内提取索引。因此,该数组没有您需要的 Prop 。

在 javascript 中,您可以根据需要使用括号表示法动态访问属性,但属性本身必须是字符串或对“类似字符串”值的引用...

 str += '<li>' + data[i]['name'] + '</li>'; //note the quotes in name!

与做相同

str += '<li>' + data[i].name + '</li>';

所以,当你这样做的时候

str += '<li>' + data[last_name] + '</li>';

解释器会查找名为 last_name 的变量,该变量会引发您提到的错误。

关于jquery - ruby on Rails - 如何使用ajax读取json文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com