ios - Alamofire:参数未传递到服务器

标签 ios json swift alamofire

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

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

尽管debugPrint方法输出SUCCESS,但iOS应用程序打印的json数据始终为“Not set”,这意味着参数实际上尚未传递到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!)
    }
}

最佳答案

URLEncoding.default 更改为 JSONEncoding.default

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

同时将 $POST_ 更改为 $_POST

关于ios - Alamofire:参数未传递到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52571624/

相关文章:

ios - Reactive Cocoa 5 和 ReactiveSwift 网络请求处理

swift - 如何显示稍微超出 UITextView 的字符的其余部分?

javascript - 解析 JSON 错误 : Javascript

php - Laravel 在 json 中搜索查询中的值 where

php - 字典中的 JSON 编码字典未使用 AFNetworking 正确反序列化

ios - 如何在 iPad 上运行的 iPad 应用程序中访问 mac 文件(图像)

javascript - 访问对象内数组的元素

ios - 确保属性观察者 didSet 在 vi​​ewDidLoad 之后操作用户界面

ios - 如何从 AppDelegate 访问 ViewController 变量

ios - 可编辑 UITableView 的内存错误(iOS 7 ARC)