如何使用ajax和Python CGI保存原始的HTTP POST数据

问题描述

有可能吗?我正在尝试做这样的事情

function sendToServer(){
var jsonObj = {ip: ip,port: port,stime: stime,maxsamples: maxsamples,dplaces: dplaces};
var jsonStr = JSON.stringify(jsonObj);
console.log(jsonStr);
console.log(jsonObj);


$.ajax({
    url: url,type: "POST",data: jsonStr,dataType: "json",success: function (response){
    console.log(response)
    },error: function (xhr,status,error){
        alert(error.message);
        alert(error.response);
    }

 });
};

检索Python文件中的数据没有问题。我什至可以修改它并获得修改后的响应。但是,如果我尝试保存发送的内容,则会收到一条错误消息:“ undefined”。 Firefox和Chromium这两个浏览器都说这是错误500。

#!/usr/bin/python3
import cgi,cgitb
import json
import sys
import os


content_len = int(os.environ["CONTENT_LENGTH"])
req_body = sys.stdin.read()
myjson = json.loads(req_body)

# data modification
myjson["ip"] = "do sth"

print('Content-Type: application/json\r\n\r\n')
#  2 troublesome lines
open with("config.json","w") as file:
    file.write(myjson)




print(json.dumps(myjson))

我不知道我在想什么。我想用flask会更容易,但是我需要这样尝试。预先感谢

解决方法

结果证明文件所在的文件夹的所有者和组是错误的。服务器应为所有者。因此脚本是正确的,它们可以正常运行,而我要做的一切就是在控制台中输入chown:/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...