ios - Alamofire中请求参数无名称的问题
PHP中文网
PHP中文网 2017-04-18 09:28:35
0
5
1188

后台 Api 中单个参数的时候没有指定参数名,而 Alamofire 中的 parameters 是字典类型的。我尝试着 param = ["": "参数"] 发现是不行的。
在 AFN 中因为参数是 id 类型的,所以可以直接将一个字符串扔进去。求解 Alamofire 中怎么做 T T (后台有很多这样的 Api,安卓那边都可以,所以没必要改 Api 了。。。。)

PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(5)
巴扎黑

scheme://host/path?key=value&key=value
在get方式中你傳入的parameters到後邊都是處理成上邊的key=value這樣的形式
伺服器拿到這樣的url 然後根據key去取相應的value

其實AFN在處理NSString的param時url為scheme://host/path?null=value
伺服器當且僅當在單一參數可以這樣處理吧 反正拿到的value就是需要的和key無關

  1. 從上邊的邏輯分析伺服器處理url有2種情況一種只要只有一個value就直接取它的值那麼你隨便給個key試試看了另一種只在key為null而value不為null下才觸發那麼用param = @{[NSNull null]: param} 試試看還不行就去看看代碼alamofire是怎麼把parameters處理成query的查看下完整的url 確定是否是alamofire過濾了
    (ps 沒寫過伺服器程式碼和alamofire 很多是猜測僅供參考)

黄舟

不指定參數名稱,可能就是把這個當作參數,例如那種將整個請求的上送參數當作一個進行處理xml,json來處理的。
alamofire沒用過​​,你可以找下有沒有上送一個json字串的那種方式,也是同樣沒有定義參數名稱的。

阿神

Alamofire 的 request 方法裡, parameters 只能是個字典,這有點不靈活了。不過你可以嘗試用下面這個函數:

request(URLRequest: URLRequestConvertible) -> Request 

自己建立一個 NSMutableURLRequest,設定它的 header, body, 然後傳給上面那個 request 函數。自己建立 NSMutableURLRequest 是參數可以很靈活,不要求非得是字典。

PHPzhong

我最後的處理是直接在URL後面拼接這個參數值 直接”path+?參數“ 然後轉成UTF8 。一般來說直接傳參數的都是get類型的。

洪涛

請問樓主解決了沒有,我遇到了跟​​你一樣的問題。很困擾。如果您已經解決了問題。請聯絡我一下。 QQ:664071973

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板