javascript - 使用ajax将json从python返回到javascript时出现问题
问题描述
我正在articleUrl
从我的 .js 发送到我的 python 函数,它工作正常。然后我希望我的 python 函数返回pubscore
到 .js。
pubscore 在 .py 中打印良好,但随后我得到"Uncaught ReferenceError: pubscore is not defined at Object.myFunction [as success] (background.js:41)"。第 41var myPubscore = pubscore
行在 .js 中。
背景.js
$.ajax({
type: 'POST',
url: `${url}/buttoncolor`,
data: articleUrl,
success: function urlFunction(data) {
var myPubscore = pubscore;
console.log(myPubscore);
}
})
应用程序.py
def buttoncolor():
import json
if request.method == 'POST':
if not request.form['url']:
flash('Please enter all the fields', 'error')
else:
rurl = request.form['url']
...
pubscore = pub_tuple[8]
print(pubscore)
return json.dumps(pubscore)
else:
strscore = str(pubscore)
message = {'greeting': strscore}
return jsonify(message) # serialize and use JSON headers
建议的代码对我不起作用但可能对其他人有帮助
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.type == "articleUrl") {
var articleUrl = request;
$.ajax({
type: 'POST',
url: `${url}/buttoncolor`,
data: articleUrl,
success: function(){ alert('success');
}
})
$.getJSON(`${url}/buttoncolor`,{data: articleUrl}, function(data) {
doWork(data.greetings);
});
function doWork(myPubscore){
console.log(myPubscore);
if (myPubscore > 1)
{console.log("myPubscore is more than 1")}
}
}
解决方案
请试试这个
function doWork(data) {
const myPubscore = data.greeting;
console.log(myPubscore)
if (myPubscore > 1) {
console.log("myPubscore is more than 1")
}
}
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.type == "articleUrl") {
var articleUrl = request;
$.ajax({
type: 'POST',
url: `${url}/buttoncolor`,
data: articleUrl,
success: doWork,
error: function(e) {
console.log("error", e)
}
})
}
})
推荐阅读
- spring-security - SecurityContextHolder 返回错误的用户名
- api - 如何创建 vuejs unsplash 分页?
- php - 如何在 foreach 循环中使用输出缓冲区?
- c# - 我收到此错误 CS1061:“Rigidbody2D”不包含“velociy”的定义
- android - Android 无法从电子邮件意图中恢复
- python - 如何使用 itemgetter 对字典进行分组
- javascript - 上传大量图片时,GCP Bucket 上传无法连接到 oauth2 令牌
- node.js - 如何使用MongoDB获取彼此时间段内的记录
- jquery - 通过 jquery 更新后,Angular 不会重新渲染
- python - 将数据添加到 PostgreSQL 数据库的最佳实践?