2017-07-29 87 views
-2

我正在嘗試使Alamofire POST請求。這是我想提出的要求..狀態代碼405問題..Alamofire POST請求...

 Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding(destination: .queryString), headers : headers) 
     .responseString { response in 
      print(response.result) 
} 

雖然我得到的結果是「成功」,狀態碼總是顯示爲405,而它應該是200的「編碼」的一部分請求,我已經嘗試了一切,如JSONEncoding.default,JSONEncoding.prettyPrinted,URLEncoding.httpbody ...但始終狀態碼仍然是405。任何人都可以請幫忙嗎?在此先感謝...

+0

我對您的問題提供答案很可能會後端問題 –

回答

0

這是這個問題......一些改動必須作出的解決方案..

的給出的頭是這樣的:let headers = [「Content-Type」:「application/json」]。但它必須讓頭= [「Content-Type」:「application/x-www-form-urlencoded」]。 此外,編碼應爲URLEncoding.httpBody。

進行這些改變使得它做工精細...

-1

嘗試更換:

responseStringresponseJSONURLEncoding(destination: .queryString)URLEncoding.default

LIKE:

Alamofire.request(strURL, method: .post, parameters: params, encoding: URLEncoding.default, headers: headers).responseJSON { (responseObject) -> Void in 

//Do something 

} 
+0

No..it不起作用。 'response.result'也給出'失敗'.. –

+0

但是,它在我的許多應用程序中工作得非常好! –

+0

嘗試在我的函數中打印'responseObject.result.value'。我已經測試了這個功能100多次。 –

1

我認爲問題是與您的服務器,因爲此狀態代碼只有當服務器禁用api時纔會出現

HTTP 405方法不允許響應狀態碼指示 服務器已知請求方法,但已被禁用且不能使用 。兩個強制方法GET和HEAD絕不能是 禁用,不應返回此錯誤代碼。

所以請聯繫您的服務器(後端開發人員),請確保您的網址是正確的

+0

它在郵遞員中正常工作.. –

+0

我很確定你的網址是錯誤的從移動端追加URL與「/」在URL的末尾,並再次嘗試 –

+0

是的..它已經附加了一個「/」... –

相關問題