Как отправить сообщение с расширения Chrome на мой локальный код python - PullRequest
0 голосов
/ 21 января 2020

Я сделал расширение 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
                                   )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...