【发布时间】:2019-03-15 18:13:08
【问题描述】:
如何显示类别名称?
我有两个表,prod 和 category,现在我想在这个表之间进行连接以显示获取产品您的类别。当我添加一个 now 产品时,我会指定特定的类别 ID。
这里有另一个信息
Prods.belongsTo(Categs, {foreignKey: 'categ_id', targetKey: 'id'}) ,
Prods
和Categs 是两个带有续集的模型。
Prods 收件人:id,name,category_id;
Categs 收件人:id, name;
在 prods.js 中我有:
function save() {
var form = $('#re_form').serializeObject();
if(form.id) {
update(form);
} else {
create(form);
}
}
function create(form) {
$.ajax({
url: '/prods/',
type: 'POST',
accepts: {
json: 'application/json'
},
data: form,
success: function(data) {
var row = '<tr id="row_id_'+ data.id +'">'
+ getColumns(data)
+ '</tr>';
$('#ar').append(row);
}
});
}
function getColumns(value) {
return '<td>'+value.id+'</td>'
+ '<td class="name">'+value.categ.name+'</td>'
+ '<td class="name">'+value.name+'</td>'
}
在 HTML 中:
<div>
<label for="name">id Categ</label>
<input type="text" name="categ_id" id="categ_id" class="form-control"/>
</div>
错误:未捕获的类型错误:无法读取类别名称未定义的属性“名称”
【问题讨论】:
-
这里:+ '
'+value.categ.name+' ' 给出错误 -
使用
dataType: 'json'告诉$.ajax它返回 JSON。 -
我做了这个更新:$.ajax({ url: '/prods/', type: 'POST', dataType: 'json', 但同样的错误。
-
console.log(typeof data, data)显示什么? -
我想因为我没有在 prods 和categs 之间加入.. ei: " select c.name from prods p left join categs c on p.prod_id = c.prod_id".. 我认为那是必要的,但我不知道如何做到这一点......我希望你明白我的解释......非常感谢!
标签: javascript node.js ajax html