从python返回到Ajax的列表获取奇怪字符

2024-05-04 05:31:44 发布

您现在位置:Python中文网/ 问答频道 /正文

如何将列表从Python正确返回到Ajax,返回时输出看起来很奇怪

ap.py

@app.route('/_get_comUpdate/', methods=['POST'])
def _get_comUpdate():
    comNr = request.form.get('comNr')
        
    com_result = COMPort("ON","COM255",comNr)
    print(com_result)

    return jsonify({'data': render_template('com_response.html', com_result = com_result)})

com_response.html

{{com_result}}

index.html

$.ajax({
    url: "/_get_comUpdate/",
    type: "POST",
    success: function(resp){
        com_result = (resp.data);
        alert(com_result); 
        }
    });

python中列表的输出:

['ON', 'OFF', 'OFF', 'OFF', 'OFF', 'OFF']

返回到Ajax的列表的输出:

['ON', 'OFF', 'OFF', 'OFF', 'OFF', 'OFF']

1条回答
网友
1楼 · 发布于 2024-05-04 05:31:44

很抱歉配方可能不准确,因为我看不到你所有的代码。我想原因在于指定了UTF-8编码

可能是后端

import sys
reload(sys)
sys.setdefaultencoding('utf-8')
from flask import Flask
from flask.ext.restful import Api
from flask.ext.restful.representations.json import output_json
output_json.func_globals['settings'] = {'ensure_ascii': False, 'encoding': 'utf8'}
app = Flask(__name__)
api = Api(app)
...

可能是前端

<html> <head> <meta charset="utf-8">

可以运行应用程序

set PYTHONIOENCODING=UTF-8

还有,你能用json.dumps代替jsonify吗?希望对你有帮助)

相关问题 更多 >