zoukankan      html  css  js  c++  java
  • Swift使用Alamofire

    swift的简单网络请求,学艺不精,如果错了请指出

    platform:ios,’8.0’
    target 'DemoSwift' do
        pod 'Alamofire'
    #    pod 'swiftJson'
    end
    

    以下是我封装的一个方法,官方的地址直接copy过来的https://github.com/SwiftyJSON/SwiftyJSON,没有问题,因为没有写参数,所以没有任何问题

       func getRequestData(url:String,parame:[String:String]){
            Alamofire.request(url).responseJSON { response in
                print(response);
            };
        }
    

     一下是一个有参数的get请求数据,官方的代码直接拉过来的,

    func getRequestData(url:String,parame:[String:String]){
            Alamofire.request(url, method: .get, parameters: parame, encoding: JSONEncoding.default, headers: nil).responseJSON { (response) in
                if response.result.isSuccess{
                    print("成功了")
                    if let value = response.result.value as? [String: AnyObject]{
                        print("返回的结果:(value) : (value["msg"]!)")
                        
                        
                    }
                }
        }
    

     后台一直得不到数据,还会报错FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0.” UserInfo={NSDebugDescription=Invalid value around character 0.})),查资料发现如果后请求的接收方式是以post时,后台接收方式是以 from 表单时 encoding 一定要为URLEncoding.queryString。不然后台接收不到数据

    改成

            Alamofire.request(url, method: .get, parameters: parame, encoding: URLEncoding.queryString, headers: nil).responseJSON { (response) in
                if response.result.isSuccess{
                    print("成功了")
                    if let value = response.result.value as? [String: AnyObject]{
                        print("返回的结果:(value) : (value["msg"]!)")
                    }
                }
            }
    

    然后事情完美解决

  • 相关阅读:
    创建你的 /proc 文件
    在 /proc 里实现文件
    使用 /proc 文件系统
    printk函数速率限制
    printk函数打开和关闭消息
    printk 函数消息是如何记录的
    mysql存储程序
    Javascript 笔记与总结(1-1)作用域
    Java实现 LeetCode 142 环形链表 II(二)
    Java实现 LeetCode 142 环形链表 II(二)
  • 原文地址:https://www.cnblogs.com/hualuoshuijia/p/11760371.html
Copyright © 2011-2022 走看看