前提・実現したいこと
jsonデータをajax経由でサーバへPOST送信したいのですが、サーバ側で受け取ると空になってしまい、受け取ることが出来ません。
該当のソースコード
jsonデータ
json
1jsonData = 2{"type":"paragraph","data":{"text":"テスト"}}
ajax処理
ajax
1$.ajax({ 2 'url': url, 3 'type': 'post', 4 'data': { 5 jsonData: jsonData, 6 }, 7 'timeout': 10000, 8 'dataType': "json", 9 }).done(function (data) { 10 //成功 11 }).fail(function (XMLHttpRequest, textStatus, errorThrown) { 12 //失敗 13 });
サーバ(cakephp3.8)
php
1 2 if ($this->getRequest()->is('ajax')) { 3 $data = $this->getRequest()->getData('jsonData'); //値が空 4 5 //何らかの処理 6 7 //結果をjson形式でセット 8 $this->viewBuilder()->setClassName('Json'); 9 $this->set('result', $result); 10 $this->set('_serialize', ['result']); 11 }
試したこと
上記コードのサーバ側で$this->getRequest()->getData();した時の値が空になっていて、処理ができない状態です。
get送信にすると$this->getRequest()->getQuery();に値が入ってくるのですが、データが長すぎると414エラーが出てきてしまいます。
contentType: 'application/json',を追加したりなど試してみたのですが、やはり空の状態で値を拾えておりません。
どなたかわかる方がいらっしゃいましたら教えていただけたらと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/02 23:57