POST
リクエストを正常に送信する次の迅速なコードがあります。Swift 2 JSON POSTリクエスト[NSMutableURLRequestのHTTPBody用の辞書と文字列]
let request = NSMutableURLRequest(URL: NSURL(string: url)!)
let session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
request.HTTPBody = "foo=bar&baz=lee".dataUsingEncoding(NSUTF8StringEncoding)
let task = session.dataTaskWithRequest(request, completionHandler: completionHandler)
代わりに、構文のようなクエリパラメータを使用して、私は辞書を使用するようにしたいのですが、私はやるときは、次の(私の周り見てきたもののような)
がlet request = NSMutableURLRequest(URL: NSURL(string: url)!)
let session = NSURLSession.sharedSession()
request.HTTPMethod = "POST"
request.HTTPBody = try! NSJSONSerialization.dataWithJSONObject(["foo":"bar", "lee":"baz"], options: [])
let task = session.dataTaskWithRequest(request, completionHandler: completionHandler)
、それはそう身体が空であるかのようにリクエストを提出します。
私の主な質問は、これらの構文がどのように異なっているのか、結果のリクエストはどう違うのですか?
注:JSから来て、私は以下のようにjavascriptの環境(jquery.comのコンソール)でエンドポイントをテストしていて、それが正常に働いている:
$.ajax({
url: url,
method: 'POST',
data: {
foo: 'bar',
baz: 'lee'
}
});
をアプリケーション/ JSON対x-www-form-urlencodedで。 Content-Typeヘッダーフィールドをapplication/jsonに設定していません。 – mrkbxt
Omfg、私は実際にこれを理解しようと3時間を費やしました.T out ... 1つの方法は機能しませんでした。私もこれを無視したからです。-_- – murphguy