Php 错误域=NSCOCAERRORDOMAIN代码=3840“;JSON文本未以数组或对象开头,并且未设置允许片段的选项;斯威夫特3
我正在做一个项目,下面是我的Swift代码。但是当我运行时,我得到了这个错误Php 错误域=NSCOCAERRORDOMAIN代码=3840“;JSON文本未以数组或对象开头,并且未设置允许片段的选项;斯威夫特3,php,json,swift3,Php,Json,Swift3,我正在做一个项目,下面是我的Swift代码。但是当我运行时,我得到了这个错误 Error Domain=NSCocoaErrorDomain code=3840“JSON文本未以数组或对象开头,允许未设置片段的选项。”UserInfo={NSDebugDescription=JSON文本未以数组或对象开头,允许未设置片段的选项。} 我还检查了来自数据库的响应,它说它有一个有效的内容长度。但是由于这个错误,我无法得到我想要的 从我的代码中的响应打印 Optional(<NSHTTPURLR
Error Domain=NSCocoaErrorDomain code=3840“JSON文本未以数组或对象开头,允许未设置片段的选项。”UserInfo={NSDebugDescription=JSON文本未以数组或对象开头,允许未设置片段的选项。}
我还检查了来自数据库的响应,它说它有一个有效的内容长度。但是由于这个错误,我无法得到我想要的
从我的代码中的响应打印
Optional(<NSHTTPURLResponse: 0x608000233bc0> { URL: http://192.168.1.99/insertData.php } { status code: 200, headers {
Connection = "Keep-Alive";
"Content-Length" = 10;
"Content-Type" = "text/html; charset=UTF-8";
Date = "Wed, 13 Sep 2017 21:37:38 GMT";
"Keep-Alive" = "timeout=5, max=100";
Server = "Apache/2.4.10 (Raspbian)";
} })`
所以为了完成我的项目,我需要解决这个问题。请帮忙。谢谢。山姆的回答是这样的 echo(“{”响应“:[{”状态“:“失败”}]}”);或 echo(“{”Response:[{”status:“success”},{”userid:“.$userid.}]}”) 试试这个,请告诉我们……:)
let urlOfSMARTCF = URL(string: "http://192.168.1.99/insertData.php")
let request = NSMutableURLRequest(url: urlOfSMARTCF! as URL) request.httpMethod="POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
for contact in contactsCaptuure
{
let userMobileNumber = DBManager.shared.retriveRegisteredNumberOfMobile()
let postParameters = "\"usermobilenum\":\(String(describing: userMobileNumber!)),\"contactnum\":\(contact.phoneNumber!)";
request.httpBody = postParameters.data(using: String.Encoding.utf8)
let task = URLSession.shared.dataTask(with: request as URLRequest)
{
data, response, error in
if error != nil
{
print("error is \(String(describing: error))")
return;
}
do
{
print(response)
let myJSON = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
if let parseJSON = myJSON
{
var msg : String!
msg = parseJSON["message"] as! String?
print(msg)
}
}
catch
{
print(error.localizedDescription)
print(error)
}
}
print("Done")
task.resume()
}