2017-02-25 55 views
0

我得到一個糊塗的錯誤。 其關於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

回答

0

你不妨試試在斯威夫特的請求之前Content-Type頭設置爲application/json。然後燒瓶將試圖對其進行解碼,並把它分配給該請求的json屬性:

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

合劑將設置request.json僅當傳入的請求將內容類型設置爲JSON,否則會假定形式編碼的數據,它將指派到request.form

+0

謝謝!這解釋了爲什麼我使用捲曲測試我的服務器運行良好,但不是 –