2017-02-12 70 views
0

在搜索堆栈并查看类似问题后的数小时后,我仍然无法使其工作。请帮助指导我!Json向服务器发送邮件请求时出错

所有我试图做的是提交的用户名,以我的服务器,并将其保存在MySQL的 - 只是为了得到它的工作...

我可以通过发送用户名到服务器,甚至返回硬编码数据回到iOS模拟器设置标签的文本,,但只要我添加保存数据到MySQL的函数,我得到错误:“错误域= NSCocoaErrorDomain代码= 3840”字符0周围的值无效。“UserInfo = { NSDebugDescription =字符0周围的值无效}}

对不起,我错误的命名约定,我偏离了教程。谢谢!

SWIFT 3:

func Apitest(name: String) { 

    let json = ["user" : name] 

    do { 
     let jsonData = try JSONSerialization.data(withJSONObject: json, options: .prettyPrinted) 

     let url = NSURL(string: "I put the actual path here, don't worry")! 
     let request = NSMutableURLRequest(url: url as URL) 
     request.httpMethod = "POST" 

     request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type") 
     request.httpBody = jsonData 

     let task = URLSession.shared.dataTask(with: request as URLRequest){ data, response, error in 
      if error != nil{ 
       print("First Error -> \(error)") 
       return 
      } 
      do { 
       let result = try JSONSerialization.jsonObject(with: data!, options: .allowFragments) as? [String:AnyObject] 
       print("Result -> \(result!)") 

       let label = result?["messages"] as! String 

       print(label) 

       self.setupLabel(text: label) 

      } catch { 
       print("Second Error -> \(error)") 
      } 
     } 

     task.resume() 
    } catch { 
     print(error) 
    } 
} 

API代码(蟒/瓶)

@app.route('/api/get_messages/') methods=['POST']) 
def get_messages(): 
json = request.get_json() 

api_test(json['user']) 

return jsonify({'messages':json['user']}) 

MySQL的功能:

def api_test(user): 
c, conn = connection() 
c.execute("INSERT INTO users (email) VALUES (%s)", (user)) 
conn.commit() 
conn.close() 
c.close() 

回答

0

从升在你的代码处称呼我会说你的插入命令应该是:

c.execute("INSERT INTO users (email) VALUES (%s)", (user)) 
+0

对不起,实际上是这样的。我没有粘贴该行,我输入了它。 – user3344239