【问题标题】:Javascript REST API Error with FlaskFlask 的 Javascript REST API 错误
【发布时间】:2017-08-05 01:36:55
【问题描述】:

我在pythonanywhere网站上部署了一个flask框架,代码如下,其第三个方法处理rest请求:

from flask import Flask
from flask import jsonify
app = Flask(__name__)
@app.route('/')
def hello_world():
    return 'Hello from Sachin Flask!'
@app.route('/getval')
def getter():
    return '3'
@app.route('/get', methods=['GET'])
def get_task():
    return jsonify({"tasks": "tas",})

网址:https://sachk480.pythonanywhere.com/

我编写了一个简单的 javascript getter,它从 /get url 获取数据并将其显示到控制台,但我一直收到此错误:

Uncaught SyntaxError: Unexpected token :

此错误指向 JSON 数据及其格式,我不确定这里出了什么问题。

Javascript getter:https://jsfiddle.net/sachinkonan480/04bx0sye/5/

【问题讨论】:

    标签: javascript python ajax rest flask


    【解决方案1】:

    PythonAnywhere 开发人员在这里,当我访问您的网站时,我看到一个错误:

    https://sachk480.pythonanywhere.com/get

    我的猜测是您的应用实际上返回了 500 错误,这是无效的 json,所以这就是您的 javascript 无法解析它的原因。

    看看你在 pythonanywhere 上的错误日志?这里有一些调试常见问题的技巧:http://help.pythonanywhere.com/pages/DebuggingImportError

    【讨论】:

    • 是的,因为我发布了问题,所以我更改了烧瓶后端。现在 url 需要一个 int 键参数,所以这可以工作:sachk480.pythonanywhere.com/get/0.
    • 您还发现问题吗?发送电子邮件至 support@pythonanywhere.com,我们会尽力提供帮助 :)
    • 不,仅仅通过指定一个 cors 装饰器,我的问题就被消除了。不过还是谢谢!
    【解决方案2】:

    问题在于你的字典中最后一个值后面有一个逗号,它不是有效的 json

    【讨论】:

    • 我刚刚在烧瓶代码中修复了这个问题,但在 javascript 端遇到了同样的错误
    • 这只是意味着您的 javascript 代码没有生成有效的 json?
    • 当然,但我认为这发生在后台 Ajax 函数中——我无法找出错误的原因。
    • 将 dataType 从 'jsonp' 更改为 'json' 时会弹出此错误:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'fiddle.jshell.net' 因此不允许访问。
    • 你在烧瓶上缺少 CORS
    猜你喜欢
    • 1970-01-01
    • 2020-09-02
    • 2021-12-10
    • 2021-07-25
    • 2022-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多