response.result.value in alamofire post method is nil

问题描述:

 let parametersDictionary = [ 
     "email" : "[email protected]", 
     "password" : "password" 
    ] 
    Alamofire.request("http://nanosoftech.com/store/user_check", method: .post, parameters: (parametersDictionary as NSDictionary) as? Parameters , encoding: JSONEncoding.default, headers: nil).responseJSON { response in 
     print("response:", response.result.value) 
    } 

我正在使用post方法api和上面的代码不工作。我得到零响应。但是这个URL在postman和android studio中也能正常工作。这个问题背后的原因是什么?response.result.value in alamofire post method is nil

+0

您需要添加您的参数在请求正文我想,请检查此答案https://stackoverflow.com/questions/44484772/how-to-post-nested-json-by-swiftyjson-and-alamofire/44500753#44500753也许可以帮助你 –

+0

是的,我已经添加了参数Dictionary – Sptibo

+0

代码'(parametersDictionary as NSDictionary)as?参数'可能会给你'nil'。 – rmaddy

您的网址只使用形式编码

enter image description here

尝试使用此URL请求时的作品,如documented在GitHub上

Alamofire.request("http://nanosoftech.com/store/user_check", method: .post, parameters: parametersDictionary , encoding: URLEncoding.default) 

如果该编码不工作,尝试encoding: URLEncoding.httpBody

+0

不,这也不起作用 – Sptibo

+0

@Sptibo刚刚注意到您正在发送http呼叫,而不是https一个。你只需要做https,否则你的应用会被应用商店拒绝。从2017年开始,http调用只允许在'UIWebView' –

+0

@Sptibo中尝试使用'{“email”:“[email protected]”,“password”:“haha”}发送post请求。并没有回应 –

只要写看看像波纹管它对我有用

Alamofire.request("http://era.com.bd/UserSignInSV", method: .post,parameters:["uname":txtUserId.text!,"pass":txtPassword.text!]).responseJSON{(responseData) -> Void in 
     if((responseData.result.value != nil)){ 

      let jsonData = JSON(responseData.result.value) 

     } 
    } 
+0

这也不起作用 – Sptibo

+0

它正在运行的实时项目中工作。我认为你应该看到JSON响应..可以让我看到JSON响应... –

+1

使用get检查浏览器,因为浏览器不会从帖子回应:http://nanosoftech.com/store/[email protected]。 com&password = password –