【问题标题】:PHP Wamp server not receiving parameters from AlamoFire requestPHP Wamp 服务器未从 AlamoFire 请求接收参数
【发布时间】:2016-04-23 20:48:23
【问题描述】:

当我收到来自 AlamoFire 的请求时,PHP 中的脚本无法识别 POST、GET 或 REQUEST 变量中的参数。

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://input 流。在第 0 行的未知中

我已将带有 always_populate_raw_post_data 选项的 php.ini 更改为 -1,并达到我现在的状态。

但是如果请求的 URL 是这样的 http://192.168.1.108:8080/labor/login.php?email=slicingit@yahoo.com&password=brown1234 服务器接收参数。此外,如果我使用 NSURLSession 创建请求,并将参数作为 HTTP 正文的一部分,服务器确实会获取它们。

【问题讨论】:

    标签: php ios swift wamp alamofire


    【解决方案1】:

    你怎么知道它没有收到?你怎么知道 alomfire 是否正在发送它? 使用 'echo' 看看 alomfire 在你的 php 脚本中带回了什么。如果确实是 json 值,请记住您必须先解码 json 值,然后才能使用或分配它们。How to decode json

     $mymail= ($_POST['email']);
     $mypass= ($_POST['password']);
     echo $mymail;
     echo $mypass;
    
     //Decode your json first here
    
     if ($mymail && $mypass) {
         ... stuff
     }else{
     $response["Failure"] = 1;
    $response["message"] = "Required field(s) is missing";
    echo json_encode($response);
    

    }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-20
      • 1970-01-01
      • 2016-08-17
      • 2017-08-23
      • 1970-01-01
      相关资源
      最近更新 更多