AlamoFireからリクエストを受け取ったとき、PHPのスクリプトはPOST、GET、REQUESTのどちらの変数も認識しません。 AlamoFireでPHP WampサーバがAlamoFireリクエストからパラメータを受け取っていません
コードは
let parameters: [String: AnyObject] =
["email" : email,
"password": password]
Alamofire.request(.POST, url, parameters: parameters, encoding: .JSON)
.responseJSON { response in
print(response)
switch response.result {
case .Success: // Connection stablished
case .Failure(let error): // Connection not stablished
print(error)
self.showLoginError(Constants.connectionError)
}
}
とPHPのコードである:
$response = array();
header('Content-Type: application/json');
if (isset($_POST['email']) && isset($_POST['password'])) {
... stuff
}else{
$response["Failure"] = 1;
$response["message"] = "Required field(s) is missing";
echo json_encode($response);
}
そしてAlamoFireにおける応答は、常に一点で要求フィールド
のメッセージであるJSON PHPが私にこのエラーを通知しました: PHP廃止予定:$ HTTP_RAW_POST_DATAを自動的に設定することは推奨されなくなりました。将来のバージョンで移動しました。この警告を避けるには、php.iniの 'always_populate_raw_post_data'を '-1'に設定し、代わりにphp://入力ストリームを使用します。ライン0
上の不明に私は-1に always_populate_raw_post_data のオプションでのphp.iniを変更し、私は今の私何な状態に私に達していました。
しかし、リクエストURLがこのようなものであれば、http://192.168.1.108:8080/labor/[email protected]&password=brown1234がサーバーに送信されます。また、NSURLSessionを使用してHTTP Bodyの一部としてパラメータを使用してリクエストを作成する場合、サーバーはそれらを取得します。