방문자에 대한 투표를 사용하지 않거나 이전 상태로 되돌리려 고합니다.Jquery upvote plugin 방문자에 대한 투표 사용 중지
이것을 달성하려면 jvery upvote 플러그인에 사용자 아이디를 전달하고 싶습니다. 클래스 이름이 userid
인 <div id="comment-1">
에 링크 요소를 추가하면 userid
변수를 Jquery upvote 플러그인에 전달할 수 있습니다. 그러나 이번에는 사이트 설계가 중단되었습니다.
두 번째 방법은 클릭 이벤트를 추가하는 것입니다. 하지만 두 번 부름 받았다고 생각합니다.
jquery upvote plugin에 사용자 정의 변수를 전달하는 적절한 방법이 될 수 있습니다.
내가하고 싶은 것은 익명 사용자가 SO와 같이 게시물에 투표를 사용 중지하는 것입니다.
<html>
<head>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/lib/jquery.upvote.css">
</head>
<body>
<div id="comment-1" class="upvote">
<a class="upvote" title="This idea is helpful"></a>
<span class="count">5</span>
<a class="downvote"></a>
<a class="star starred"></a>
</div>
<div id="message"></div>
이것은 javascript 부분입니다.
<script src="https://code.jquery.com/jquery-3.2.1.min.js"> </script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/jquery.upvote.js"></script>
<script>
$(function() {
var userid = 0;
var visitor = "{{ visitor }}";
var callback = function(data) {
$.post({
url: '/vote',
data: JSON.stringify({ id: data.id, up: data.upvoted, userid: userid,
down: data.downvoted, count: data.count, star: data.starred }),
contentType: "application/json",
success: function(response) {
if (response == 'visitor') {
alert("You should register to vote posts")
}
console.log(response);
}
});
};
$('#comment-1').upvote({id: 1, callback: callback});
if (visitor) {
alert("You should register to vote on posts");
}
});
</script>
</body>
</html>
voting.py
from flask import Flask, render_template, request, url_for, jsonify
app = Flask(__name__)
@app.route('/')
def index():
return render_template('voting.html')
@app.route('/vote', methods=['POST'])
def vote():
data = request.get_json()
result = str(data)
print("userid", data['userid'])
if (data['userid'] == 0):
return ('visitor')
print (result)
return result
if __name__ == "__main__":
app.run(debug=True)
https://jsfiddle.net/54ytp9ee/
업데이트 : 나는 해결책을 찾을 수 있어야합니다 downvoters 에도 불구하고. 이제 예상대로 작동합니다.
:'http://yourserver.com/vote '클라이언트 측이 아니다. –