Я сделал расширение Chome, которое собирает данные с веб-страницы. Он успешно регистрирует данные в консоли Chrome. Теперь я хочу отправить эти данные функции в файл python (функция хранит их в локальной базе данных). Я получаю предупреждение "успех", но мой python файл, похоже, не получает данные / не регистрирует их в базе данных.
В любом случае, большое спасибо.
content. js - файл расширения Chrome
function callAttentionToX(jNode) {
var uCW = jNode.closest("div._q7o");
var button = document.createElement("a");
button.innerHTML = "I'm a button";
button.addEventListener ("click", function() {
var image_url = uCW[0].children[1].children[2].getElementsByTagName("img")[0].src;
console.log(image_url);
var title = uCW[0].children[1].children[2].getElementsByTagName("a")[0].attributes[2].value;
console.log(title);
var url = uCW[0].children[1].children[2].getElementsByTagName("a")[0].href;
console.log(url);});
var $image_url = $('#image_url');
var $title = $('#title');
var $url = $('#url');
var articleInfo = {
image_url: $title.val(),
title: $title.val(),
url: $title.val(),
}
$.ajax({
type: 'POST',
url: '/bootstrap',
data: articleInfo,
success: function (newArticle){
alert('success');
}
})
{
uCW.append(button);
}}
fakenews.py - Локальный python файл
@app.route('/bootstrap', methods=['GET', 'POST'])
def bootstrap():
posted = 1
print ("bootstrap")
global article
if request.method == 'POST':
if not request.form['title'] or not request.form['url'] or not request.form['image_url']:
flash('Please enter all the fields', 'error')
else:
article = Article(request.form['title'], request.form['url'], request.form['image_url'])
db.session.add(article)
try:
db.session.commit()
except exc.SQLAlchemyError:
flash('Article url already exists, failed to post new article')
posted = 0
#return render_template('/error.html', article_url=article.url)
article_list = Article.query.filter_by(url=article.url)
if posted == 1:
flash('Record was successfully added')
else:
db.session.rollback()
article_list = Article.query.filter_by(url=article.url)
article=article_list[0]
print ("article.id=" + str(article.id))
vote_choices = VoteChoice.getVoteChoiceList()
return render_template('/votefor.html', article_id=article.id,
article_title=article.title,
article_url=article.url, vote_choices=vote_choices
)