错误:如何修复迅速错误类型到我的服务器

问题描述:

我得到一个糊涂的错误。 其关于SWIFT数据类型。 有我的网络演示:错误:如何修复迅速错误类型到我的服务器

func initRequst(HttpType: httpType,content:String,dic:Dictionary<String,Any>){ 
     let data = try! JSONSerialization.data(withJSONObject: dic, options: .prettyPrinted) 
     print(data) 
     switch HttpType { 
     case .post: 
      url = URL.init(string: "http://localhost:5000/" + content) 
      req = NSMutableURLRequest.init(url: url!) 
      req?.httpMethod = "POST" 
      req?.httpBody = data 
     case .get: 
      url = URL.init(string: "http://localhost:5000/" + content) 
      req = NSMutableURLRequest.init(url: url!) 
      req?.httpBody = data 
      req?.httpMethod = "GET" 
     } 
    } 

并有我的烧瓶服务器收到错误和演示:

TypeError: 'NoneType' object is not subscriptable 

@app.route('/userLogin',methods=["GET"]) 
    def userLogin(): 
     get_username = request.json['username'] 
     get_password = request.json['password'] 
     return jsonify({"uerId":databasePort.checkUserInformation(get_username,get_password)}) 

似乎发送类型没有被identified.How修复它迅速的数据?谢谢!

+0

我已经修复它。问题是,request.json [....]不能接收我的json数据,所以我最终使用request.form instead.its作品。 –

+0

我不认为你真的解决了问题,你周围,而不是工作。正确的解决办法是在'内容Type'头设置为'应用程序/ json'如图我的答案。 – mhawke

你不妨试试在斯威夫特的请求之前Content-Type头设置为application/json。然后烧瓶将试图对其进行解码,并把它分配给该请求的json属性:

req.setValue("application/json", forHTTPHeaderField: "Content-Type") 

合剂将设置request.json仅当传入的请求将内容类型设置为JSON,否则会假定形式编码的数据,它将指派到request.form

+0

谢谢!这解释了为什么我使用卷曲测试我的服务器运行良好,但不是 –