flask和ajax相当新,想知道我是否可以得到一些帮助。我正在使用python-twitter,希望能够输入一个搜索参数,它将在Twitter上搜索所需的一个或多个单词。
我尝试了多种解决方案,我的朋友和我都看不出问题出在哪里。我可以看到搜索变量是通过console.log存储在ajax中的,但是我无法将其转移到将搜索该变量的twitter函数上。
这是我的ajax:
$('#form').on('submit', function(e){
var search = $('#search').val();
e.preventDefault();
$.ajax({
url: '/twitter',
data: {'search': search},
method: 'Get',
success: function(result) {
// twit(data)
console.log(search)
}
});
});
和我的Twit()根据要求
@app.route('/twitter', methods=['GET', 'POST'])
def twit():
tempo = request.form['search']
searched = "Yes"
searched = request.args.get('search1')
# searched = request.form.get('number')
print(searched, file=sys.stderr)
api = twitter.Api(\
consumer_key='TWVxfrliliibQxjNWz4tAlDIj',
consumer_secret='QK2IBqNorysgD3quaBJVCMDdMApOpo5fW5g6Pl4Di97ToRjsGy',
access_token_key='3011394611-QmeEQ5yaL6OJTOmqemXV3eS0DpE09P0sy64XhnL',
access_token_secret='tEMygLkKBDwfVepHAg7G9BI7N8VQJM7U9KKefpV40jUq1'
)
count = "10"
data = api.GetSearch(
raw_query= 'q='+str(searched)+'&'
'count='+str(count)+'&'
'lang=en&'
'tweet_mode=extended&'
#'geocode=51.4027029,-0.3040634,10mi' #kington
)
print(data)
for i in data:
print('---------------------------')
if hasattr(i, 'retweeted_status'):
print(i.user.name + ': ' + i.full_text)
else:
print(i.user.name + ': ' + i.retweeted_status.full_text)
return(render_template('Twitter.html', d=data))
if __name__ == '__main__':
app.run(debug=True)
这是表格
<form method="get" id="form">
<label for="search">Enter Search Parameter : </label>
<input type="text" id="search" name="search" autofocus autocomplete="off">
<button>Post</button>
</form>
应该使用搜索到的术语来更新页面。
很抱歉有一个很明显的错误