javascript - 使用 AJAX 将数据从 JavaScript 发送到本地 Python 函数

标签 javascript jquery python ajax

我正在尝试构建一个网站,用户可以在其中输入文本,该文本将通过 javascript 获取,然后发送到 python 函数,然后将其发布到 Twitter。目前,python 函数与站点的其余部分一起存储在本地。然而,我的 AJAX 不太好,并且遇到了一些问题。

我编写了 AJAX 代码,该代码使用推文向 python 函数发送 POST 请求,响应是整个 python 脚本。没有连接到我的脚本正在监听的套接字。下面是 AJAX 函数和 python 脚本。知道发生了什么吗?

预先感谢您的帮助!

$(function(){
    $('#PostTweet').on('click', function(e) {

    var tweet = document.getElementById("theTweet").value;
    var len = tweet.length;

    if(len > 140){
        window.alert("Tweet too long. Please remove some characters");
    }else{

        callPython(tweet);
    }     

    });

});

function callPython(tweet){
 window.alert("sending");
 $.ajax({
 type: "POST",
 url: "tweet.py",
 data: tweet,
 success: function(response){
    window.alert(response);
  }
 })
}

和 Python 脚本:

from OAuthSettings import settings
import twitter
from socket import *

consumer_key = settings['consumer_key']
consumer_secret = settings['consumer_secret']
access_token_key = settings['access_token_key']
access_token_secret = settings['access_token_secret']

s = socket()
s.bind(('', 9999))
s.listen(4)
(ns, na) = s.accept()

def PostToTwits(data):    
   try:
     api = twitter.Api(
     consumer_key = consumer_key,
     consumer_secret = consumer_secret,
     access_token_key = access_token_key,
     access_token_secret = access_token_secret)

     api.PostUpdate(data)
     makeConnection(s)
   except twitter.TwitterError:
     print 'Post Unsuccessful. Error Occurred'


def makeConnection(s):
    while True:

       print "connected with: " + str(na)
       try:
           data = ns.recv(4096)
           print data
           PostToTwits(data)
       except:
           ns.close()
           s.close()
           break

makeConnection(s)

最佳答案

你的问题是你正在使用纯套接字,它对 HTTP 协议(protocol)一无所知。看看FlaskBottle Web 微框架,了解如何将 Python 脚本或函数转换为 Web 端点。

关于javascript - 使用 AJAX 将数据从 JavaScript 发送到本地 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32248102/

相关文章:

javascript - KendoUI Grid - 具有不一致键的复杂 JSON

javascript - 是否有 javascript 框架来根据浏览器类型运行单元测试

javascript - 单击按钮消失并显示隐藏字段

javascript - 如何获取select2 :unselect的值

python - Scikit-学习,KMeans : How to use max_iter

javascript - 选择单选按钮时更改类的 css

javascript - 使用 JQuery 将输入增加 1 限制为 9 并连接到隐藏输入

jquery - 验证旧密码字段

python - 原始python字符串中的回车

python - 如何为使用附加参数的 tf.keras 创建自己的损失函数?