Python代碼 -
from flask import Flask
from flask_cors import CORS
import cgi
app = Flask(__name__)
CORS(app)
form = cgi.FieldStorage()
var1 = form.getvalue('var1')
@app.route("/", methods=['GET', 'POST'])
def apicall():
if len(var1)>1:
return 'received value from JS function'
if __name__ == "__main__":
app.run()
錯誤-:TypeError:“NoneType”型別的物件沒有 len()。-“POST / HTTP/1.1”500 -
我的javascript函式-
function callPythonScript() {
alert("called_python_script");
$.ajax({
url: "http://127.0.0.1:5000",
type: "POST",
data:{
var1: window.location.href,
},
success: function(response) {
console.log(response);
},
error: function(xhr) {
console.log(xhr);
}
我是否需要配置我的燒瓶服務器以接受來自 js func 的值,我嘗試過的是 -
import cgi
form = cgi.FieldStorage()
var1 = form.getvalue('var1')
PS:如果我在 python funx apicall() 中通過 return "Hello world",這個設定就可以完美運行
uj5u.com熱心網友回復:
如果您按照此處的示例進行操作,那么您的 python 代碼應該類似于
@app.route("/", methods=['GET', 'POST'])
def apicall():
if request.method == 'POST':
data = request.get_json() # Get all the data passed in (as JSON)
var1 = data.get('var1', None)
if var1 and len(var1)>1:
return 'received value from JS function'
else:
return 'No value from JS function'
else:
# Code to handle GET
請注意,您不再使用form.get....,因為您傳入的是 JSON 而不是表單資料
即使您提交表單,通常最好將這些值訪問為
request.values.get(<var_name>, <default_value>)
上述方法允許您在事件 <var_name> 不可用時指定默認值
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/525190.html
上一篇:jinja2.exceptions.UndefinedError:'forms.SignupFormobject'沒有屬性'hidden_??tag'
