40693


現在以下のようにパラメーターと共にPOST通信を行なっています。

[code]

            let parameters: [String:Any] = [
                "Diary": [
                    "ID": diary.id,
                    "Title": diary.title,
                    "Content": diary.content,
                    "XTime": diary.xtime,
                    "IsShared": diary.isShare
                ]]
    
            var request = URLRequest(url: url!)
            request.httpMethod = "POST"
            request.timeoutInterval = 10
            request.httpBody = try! JSONSerialization.data(withJSONObject: parameters, options: .prettyPrinted)
            let task = URLSession.shared.dataTask(with: request) { data, response, error in
    
[/code]

そしてPHP側は以下のようになっています。

[code]

      $json = file_get_contents('php://input');
      $data = json_decode($json, true);
      var_dump($json);
    
[/code]

しかし実際にブラウザには以下のように表示されてしまっています。

string(0) ""

なぜPHP側で値が受け取れていないのでしょうか。  
どなたか分かる方がいれば教えていただきたいです。よろしくお願いします。


CC BY-SA 3.0
2018-01-03T08:25:40.870
40687
2018-01-03T14:46:16.447
5210
question
swift ios php json
POST通信をした時にPHP側で値が空になる


Swift のコードに

[code]

    request.addValue("application/json", forHTTPHeaderField: "Content-Type")
    
[/code]

を追加するとどうでしょうか？

また、アクセスする url を `https://httpbin.org/post` に変えてみるとどうでしょうか？


CC BY-SA 3.0
2018-01-03T14:46:16.447
40693
2018-01-03T14:46:16.447
369
40687
answer