Доброе утро, друзья,
Я пытаюсь отправить данные на свой BBDD, но появляется ошибка:
Ошибка домена = NSCocoaErrorDomain Code = 3840 "Нет значения."UserInfo = {NSDebugDescription = Нет значения.}.Поиск информации и обнаружил, что вы должны добавить request.addValue ("application / json", forHTTPHeaderField: "Content-Type")
, но он по-прежнему не работает.Это работает, если я пытаюсь с URL-адресом https://jsonplaceholder.typicode.com/posts.
@IBAction func postTapped(_ sender: Any) {
let paramater = ["Name":"Bob", "Room":"Telomer", "Teacher_Name":"Tomson"]
/*
guard let url = URL(string: "https://jsonplaceholder.typicode.com/posts") else {
return
}
*/
guard let url = URL(string: "http://xxxxxxx/postClasses.php") else {
return
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue("application/json", forHTTPHeaderField: "Accept")
guard let httpBody1 = try? JSONSerialization.data(withJSONObject: paramater, options: []) else {
return
}
request.httpBody = httpBody1
let session = URLSession.shared
session.dataTask(with: request) { (data, response, error) in
if let response = response {
print(response)
}
if let data = data {
do{
let json = try JSONSerialization.jsonObject(with: data, options: [])
print(json)
}
catch{
print(error)
}
}
}.resume()
}
и в php
$name= ( empty($_POST['Name']) ) ? NULL : $_POST['Name'];
$room= ( empty($_POST['Room']) ) ? "" : $_POST['Room'];
$Teacher_Name= ( empty($_POST['Teacher_Name']) ) ? "" : $_POST['Teacher_Name'];
if ($name){
if( $conexion=mysqli_connect($hostname,$username,$password,$database) ){
$sql= "INSERT INTO classes(Name,Room,Teacher_Name) VALUES (?,?,?)";
if ($stmt = mysqli_prepare($conexion, $sql)) {
mysqli_stmt_bind_param($stmt, "sss", $name,$room,$Teacher_Name);
if( mysqli_stmt_execute($stmt) ) {
//$msg=printf("Insert", mysqli_stmt_affected_rows($stmt));
$msg=printf("");
}else{
//$msg=printf("Error: %s ok", mysqli_stmt_error($stmt));
$msg=printf("Account already exists");
}
mysqli_stmt_close($stmt);
}else{
$msg=printf("Error: %s ", mysqli_error($conexion));
}
mysqli_close($conexion);
}else{
$msg=printf("Error de conetion: %s", mysqli_connect_error());
}
}else{
$msg="";
}
//echo $msg;
Большое спасибо заранее