简体   繁体   English

在ASP.net中从Swift / iOS客户端请求接收POST数据

[英]Receiving POST data from Swift/iOS client request in ASP.net

I'm currently coding a Swift app and I want to send a request containing a JSON string to my .NET backend/web service. 我目前正在编写Swift应用程序,我想向我的.NET后端/ Web服务发送包含JSON字符串的请求。 However, when using this code in: 但是,在以下情况下使用此代码时:

ASP.NET: ASP.NET:

String jsonString = Request.Form["jsonString"];

Swift: 迅速:

 let url:NSURL = NSURL(string: "https://www.backend.com/backend.aspx")!;
    let request = NSMutableURLRequest(URL: url);
    request.HTTPMethod = "POST";
    request.HTTPBody = ("jsonString=" + jsonString).dataUsingEncoding(NSUTF8StringEncoding)!;

    let session = NSURLSession.sharedSession()
    let task = session.dataTaskWithRequest(request) {
        (
        let data, let response, let error) in

        guard let _:NSData = data, let _:NSURLResponse = response  where error == nil else {
            print("error")
            return
        }

        let dataString = NSString(data: data!, encoding: NSUTF8StringEncoding)
        print(dataString)

    }

    task.resume()    }

The string on my asp.net backend turns out to be null. 我的asp.net后端上的字符串结果为null。 For whatever reason, I can't seem to get the string to be retrieved from the request. 无论出于什么原因,我似乎都无法从请求中获取字符串。 Any ideas? 有任何想法吗?

Thanks in advance 提前致谢

I used Alamofire module to handle the POST request. 我使用Alamofire模块处理POST请求。

        Alamofire.request(.POST, "someWebSite/api/someApi", parameters: ["Name":"Pancakes", "Price":9.99])
        .responseJSON{response in
            print("1", response.request)  // original URL request
            print("2", response.response) // URL response
            print("3", response.data)     // server data
            print("4", response.result)   // result of response serialization

            if let JSON = response.result.value {
                print("JSON: \(JSON)")
            }
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM