公司有個注冊界面要做, 由于加了電話號碼字段,而這個字段后臺是用表單的形式寫的后臺數據;他的數據格式是application/x-www-form-urlencoded;charset=UTF-8
這種格式不是我們常見的JSON數據格式,他可以說是JSON的一種,但又有別與JSON.我按照平常發送請求的方式發,會報請求失敗錯誤.其他地方發POST請求都能成功的.后來跟安卓那哥們討論,他能請求成功,他看了我打印的
content -type 告訴我說content -type 要為application/x-www-form-urlencoded;charset=UTF-8 這個,說我的不對,所以請求不到.而我查了大量的資料, 得出的結論 AFN中content -type 是按照你傳入的參數的格式決定的.這我老是想著改content -type,相悖.
我搞iOS的朋友告訴我說只要加上這句就可以了
```objc
manager.responseSerializer = [AFJSONResponseSerializer serializer];
[manager.requestSerializer setValue:@"application/x-www-form-urlencoded;charset=utf-8" forHTTPHeaderField:@"Content-Type"];
```
我加了,可是還是失敗,包括我百度的也說加這句就OK,但事實上還是請求失敗.
我也嘗試了對每個參數,甚至URL都進行UTF-8編碼轉換單還是不行.
```objc
NSString *urlStr = [NSString stringWithFormat:FF_revisePersonalInformation,FF_doname,userToken,strJson,userName,nil];
urlStr= [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
```
我都試過所以方法,并且用KVC了,把Key寫成Content-Type,結果程序直接崩掉了,報方法找不到
最后只要加上這個 就OK了
請注意看 這代碼不要寫錯了.這就請求成功了! 最后我只能說壓力下,能讓你想盡一切辦法去解決問題.?