Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome扩展客户端显示成功,但服务器生成500错误_Javascript_Http_Flask_Google Chrome Extension_Fetch - Fatal编程技术网

Javascript Chrome扩展客户端显示成功,但服务器生成500错误

Javascript Chrome扩展客户端显示成功,但服务器生成500错误,javascript,http,flask,google-chrome-extension,fetch,Javascript,Http,Flask,Google Chrome Extension,Fetch,我已经坚持了半天,因为我不知道为什么在一个控制台上它成功了,但在另一个控制台上却没有成功 我正在尝试从chrome分机/客户端向flask服务器进行POST呼叫 background.js fetch('http://0.0.0.0:5000/test', { method:'POST', body: JSON.stringify({"name":"daniel"}), headers: {

我已经坚持了半天,因为我不知道为什么在一个控制台上它成功了,但在另一个控制台上却没有成功

我正在尝试从chrome分机/客户端向flask服务器进行POST呼叫

background.js

fetch('http://0.0.0.0:5000/test',
    {
        method:'POST',
            body: JSON.stringify({"name":"daniel"}),
        headers: {
          "Content-Type": "application/json;charset=UTF-8",
          'Accept': 'application/json'
        }       
    })
    .then(response => response.json())
  .then(json => console.log(JSON.stringify(json))); 
manifest.json

{
    "manifest_version": 2,
    "name": "To be named",
    "description": "This extension helps...",
    "version": "0.1.0",
    "permissions": [
        "identity",
        "identity.email",
        "http://0.0.0.0:5000/test"
    ],
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },  
    "content_scripts": [{
        "matches": ["https://www.youtube.com/"], 
        "js": ["content.js"],
        "css": ["styles.css"]
    }]
}
PY(烧瓶)

迄今为止尝试的解决方案:

  • request.load/dumpts(request.json)

    在烧瓶上安装CORS

    将内容类型更改为内容-“t”类型

^所有这些解决方案只是返回
null
作为响应,而不是错误,并且没有得到后台控制台中显示的实际数据

后台js控制台:

测试开发人员:

在控制台上:

Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)

为您的
测试
路线尝试以下代码:

@blueprint.route('/test',methods=['GET',POST'])
def test():
如果request.method==“POST”:
答复_dict={
“状态”:“确定”,
“状态代码”:200,
“数据”:数据
}
返回jsonify(响应命令)#导入jsonify:从烧瓶导入jsonify
elif request.method==“GET”:
返回jsonify(request.json)
其他:
返回“未打印”
request.json
只需使用默认参数调用
request.get_json()
,并尝试将请求数据解析为json,它不会返回
响应
,这就是为什么它是无效响应的原因

如果您想将一些JSON返回给客户端,
jsonify
是一个方便的函数


文档:

谢谢您的回复。不幸的是,我仍然从那个代码中得到了
null
,看起来是
null
?请分享一个截图或其他东西。下面是一个工作示例:感谢您回来&作为示例,我已经将screenshot的链接粘贴在文章的末尾。此外,我还尝试了在chrome扩展上使用您的示例,但也没有成功:(结果:
AttributeError:'NoneType'对象没有属性“get”
TypeError: The view function did not return a valid response. The function either returned None or ended without a return statement.
Failed to load resource: the server responded with a status of 500 (INTERNAL SERVER ERROR)