2016-12-22 4 views
4

Я пытаюсь отправить запрос POST с помощью библиотеки Alarmofire, но запрос не отправляет параметры должным образом.Параметры запроса Alamofire

Мой код:

let parameters : Parameters = [ 
    "email": tfLoginEmail.text! as String, 
    "password": tfLoginPassword.text! as String 
] 
Alamofire.request(url, method: .post, parameters: parameters, encoding: JSONEncoding.default).responseJSON{ response in 
    //Some code that uses the response 
} 

Переменная параметры имеет счетчик 2 и оба значения присутствуют, но ответ на этот запрос является ошибкой о электронной почте и/или пароль порожняком.

EDIT: Мой PHP:

/** 
* Account Login 
* url - /login 
* method - POST 
* params - email, password 
*/ 
$app->post('/login', function() use ($app) { 
      // check for required params 
      verifyRequiredParams(array('email', 'password')); 

      // reading post params 
      $email = $app->request()->post('email'); 
      $password = $app->request()->post('password'); 
      $response = array(); 

      $db = new DbHandler(); 
      // check for correct email and password 
      if ($db->checkLogin($email, $password)) { 
       // get the user by email 
       $account = $db->getAccountByEmail($email); 

       if ($account != NULL) { 
        $response["error"] = false; 
        $response['id'] = $account['id']; 
        $response['name'] = $account['name']; 
        $response['email'] = $account['email']; 
       } else { 
        // unknown error occurred 
        $response['error'] = true; 
        $response['message'] = "An error occurred. Please try again"; 
       } 
      } else { 
       // user credentials are wrong 
       $response['error'] = true; 
       $response['message'] = 'Login failed. Incorrect credentials'; 
      } 
      echoRespnse(200, $response); 
     }); 

Я хотел бы знать, что я делаю неправильно. Спасибо заранее.

+0

Можете ли вы добавить код сервера? –

+0

@ArnaudWurmel Конечно, в один момент –

+0

@ArnaudWurmel Здесь вы просто добавили –

ответ

6

Очевидно, сервер ожидает, что тело запроса будет закодированной по URL-адресу, а не JSON. Используйте encoding: URLEncoding.httpBody вместо encoding: JSONEncoding.default, чтобы устранить эту проблему.

Смежные вопросы