Alamofire:参数未传递到服务器

时间:2018-09-29 19:08:11

标签: ios json swift alamofire

这是我第一次尝试使用Alamofire,因此,如果这是一个明显的疏忽,请原谅我!我已经阅读了很多其他答案,并进行了很多调整,但似乎没有任何效果。

我正在尝试做一个非常简单的测试,其中将参数从iOS应用程序传递到服务器,服务器会检查该参数是否等于“ Test”,如果是,则将一些json数据返回给iOS应用程序。 / p>

尽管debugPrint方法输出SUCCESS,但iOS应用程序打印的json数据始终为“未设置”,这意味着参数实际上并未传递给php文件。我想知道是否有人可以帮助我!

此刻,我不太担心解析json,但是只是想找出导致参数丢失的原因!预先感谢。

这是我的PHP:

<?php  
    $name = $_POST["name"];

    if (isset($name))
      {
        if($name == "Test"){
          echo json_encode("Correct");
        }
        else
        {
         echo json_encode("Incorrect");
        }
    }else{
        echo json_encode("Not set");
    }
?>

这是我的快速代码:

let url = "http://mywebsite.com/xxx.php"

let parameters: [String:String] = ["name":"Test"]

Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON{ response in

    debugPrint(response)

    if let JSON = response.result.value {
        print("JSON: \(JSON)") 
    }
    else {
        print(response.result.error!)
    }
}

1 个答案:

答案 0 :(得分:0)

URLEncoding.default更改为JSONEncoding.default

将编码设置为URLEncoding.default将通过查询字符串传递参数。
(即http://mywebsite.com/xxx.php?name=test)。

还将$POST_更改为$_POST