点击两个收藏按钮都没反应,console中并没有报错
来源:9-3 讲师详情页2
慕雪8012440
2018-03-28

7-12节的课程机构收藏没问题,js代码和本节是一样的,且共用一个url和view。但本节的收藏功能出错,原因可能出在哪里呢?
本节的JS代码:
//收藏分享
function add_fav(current_elem, fav_id, fav_type){
$.ajax({
cache: false,
type: "POST",
url:"/org/add_fav/",
data:{'fav_id':fav_id, 'fav_type':fav_type},
async: true,
beforeSend:function(xhr, settings){
xhr.setRequestHeader("X-CSRFToken", "{{ csrf_token }}");
},
success: function(data) {
if(data.status == 'fail'){
if(data.msg == '用户未登录'){
window.location.href="login.html";
}else{
alert(data.msg)
}
}else if(data.status == 'success'){
current_elem.text(data.msg)
}
},
});
}
$('#jsLeftBtn').on('click', function(){
add_fav($(this), {{ teacher.id }}, 3);
});
$('#jsRightBtn').on('click', function(){
add_fav($(this), 1, 2);
});

network栏也没有报错。
5回答
-
慕雪8012440
提问者
2018-04-03
在查阅了jquery知识后,发现好像有个jquery语法的问题。将:
$('#jsLeftBtn').on('click', function(){
add_fav($(this), {{ teacher.id }}, 3);
});改为:$(document).ready(function() {
$('#jsLeftBtn').on('click', function () {
add_fav($(this), {{ teacher.id }}, 3);
});
});之后,问题便解决了。
“$(document).ready(function()”的作用:
是为了防止文档在完全加载(就绪)之前运行 jQuery 代码,即在 DOM 加载完成后才可以对 DOM 进行操作。
如果在文档没有完全加载之前就运行函数,操作可能失败。
---摘自菜鸟教程:http://www.runoob.com/jquery/jquery-syntax.html
10 -
bobby
2018-04-04
好的 我看看源码
00 -
bobby
2018-04-02
@慕雪8012440 你给我发个qq消息 我看看 442421039
00 -
慕雪8012440
提问者
2018-03-30
@__bobby, 老师,network中也没有报错啊
00 -
bobby
2018-03-29
console没有报错 表示js没有错误 你看看网络中的请求有没有错误?
00
相似问题