0
我目前正在編寫一個Swift應用程序,並且希望將包含JSON字符串的請求發送到我的.NET後端/ Web服務。然而,在使用此代碼時:在ASP.net中接收來自Swift/iOS客戶端請求的POST數據
ASP.NET:
String jsonString = Request.Form["jsonString"];
斯威夫特:
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() }
串在我的asp.net後端原來是空。無論出於何種原因,我似乎無法從請求中獲取字符串。有任何想法嗎?
預先感謝
注意:'guard let _:NSData'部分太可怕了。它展開並丟棄未打包的值,然後使用print(「error」)而不是打印實際的錯誤。之後你必須拆開數據,再次......壞,壞,壞。請給我的教程/網站的URL來源,以便我可以告訴人們不要使用它...:p – Moritz
@EricD我在這裏找到它:http://www.kaleidosblog.com/nsurlsession-in- swift-get-and-post-data 你知道我該如何解決我的問題嗎?似乎無法弄清楚爲什麼我的請求是空的ASP –
非常感謝。 //你說你在ASP端得到空值,但是Swift端發生了什麼?是否發佈了字符串?有錯誤嗎? – Moritz