回答編集履歴

3 補足を追記

kunai

kunai score 5167

2017/01/27 16:54  投稿

> 【質問①】
> 「type 〜 dataType」の4行で、通信の送信と受信の記述をしているという事でしょうか?
返答が難しい質問ですが、期待する応えとしては「No」でしょうね。
送信についてはこの記述のみで十分ですが、返答を受信してその結果を条件分岐等に利用したい場合は
```JavaScript
$.ajax({
       type :'POST', //リクエストのタイプはPOST
       url : 'request/apply.php?mode=regist',//送信先 相手先は$mode = $_GET['mode'];で'regist' :へ
       data :query, //dataの中身はquery
       dataType :'html' //受信するデータの形はhtml
       success: function(data, dataType){
           console.log(data);
       },
       error: function(XMLHttpRequest, textStatus, errorThrown){
           console.log(XMLHttpRequest);
       });
```
このように、成功時と失敗時に呼ばれる「コールバック」処理を記述する必要があります。
[http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/](http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/)
 
返答が難しい、としたのは、success等のコールバック処理を行わなくとも勝手にレスポンスは返ってくるわけで、通信を「投げるだけ」でやりたい事が完了する場合は、わざわざコールバックでレスポンスを受け取る必要もないわけです。  
ただ、失敗時のエラー処理の必要もあると思いますので、普通は投げっぱなしではなくチェックすると思いますが。  
> ここで、「dataType :'html」は送信先から返ってきたデータ形式が「html」ということを指しているのでしょうか?
「返ってきた」と言うより、「返してほしい」形となります。
勿論、返答する側が対応していなければ意味がありません。
> 「送信先:url : 'request/apply.php?mode=regist',」がjson形式で返してきた場合
> 「dataType :'json'」になるんでしょうか?
上記の事から、「JSON形式が欲しいなら、dataType: 'json'を指定する」
という回答になります。
> 【質問②】
> 送信するパラメータ「data :query,」は「オブジェクト(var query = {};)」でないと送信できないのでしょうか?
基本的にはオブジェクト形式の方が便利だと思いますが、テキストをペロっと送る事も可能です。
が、受け取る側が困るんじゃないでしょうかね。
オブジェクトであれば、インデックスがあってデータがあるので、取りたい値が入っているインデックスを元にデータを引っ張って来れますが、それが出来ませんので。
> 追記:ajaxってサーバからデータを呼び出し、読み込む技術がメイン?
そうですね。JavaScriptから非同期で通信を投げ、その結果を元に色々する技術の総称としてajaxという名前で呼ばれているので。
2 整形

kunai

kunai score 5167

2017/01/27 16:45  投稿

> 【質問①】
> 「type 〜 dataType」の4行で、通信の送信と受信の記述をしているという事でしょうか?
返答が難しい質問ですが、期待する応えとしては「No」でしょうね。
送信についてはこの記述のみで十分ですが、返答を受信してその結果を条件分岐等に利用したい場合は
```JavaScript
$.ajax({
       type :'POST', //リクエストのタイプはPOST
       url : 'request/apply.php?mode=regist',//送信先 相手先は$mode = $_GET['mode'];で'regist' :へ
       data :query, //dataの中身はquery
       dataType :'html' //受信するデータの形はhtml
       success: function(data, dataType){
           console.log(data);
       },
       error: function(XMLHttpRequest, textStatus, errorThrown){
           console.log(XMLHttpRequest);
       });
```
このように、成功時と失敗時に呼ばれる「コールバック」処理を記述する必要があります。
[http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/](http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/)
> ここで、「dataType :'html」は送信先から返ってきたデータ形式が「html」ということを指しているのでしょうか?
「返ってきた」と言うより、「返してほしい」形となります。
勿論、返答する側が対応していなければ意味がありません。
> 「送信先:url : 'request/apply.php?mode=regist',」がjson形式で返してきた場合
> 「dataType :'json'」になるんでしょうか?
上記の事から、「JSON形式が欲しいなら、dataType: 'json'を指定する」
という回答になります。
> 【質問②】
> 送信するパラメータ「data :query,」は「オブジェクト(var query = {};)」でないと送信できないのでしょうか?
基本的にはオブジェクト形式の方が便利だと思いますが、テキストをペロっと送る事も可能です。
が、受け取る側が困るんじゃないでしょうかね。
オブジェクトであれば、インデックスがあってデータがあるので、取りたい値が入っているインデックスを元にデータを引っ張って来れますが、それが出来ませんので。
> 追記:ajaxってサーバからデータを呼び出し、読み込む技術がメイン?
 
そうですね。JavaScriptから非同期で通信を投げ、その結果を元に色々する技術の総称としてajaxという名前で呼ばれているので。
1 引用と回答が混ざっていたので整形

kunai

kunai score 5167

2017/01/27 16:44  投稿

> 【質問①】
> 「type 〜 dataType」の4行で、通信の送信と受信の記述をしているという事でしょうか?
 
返答が難しい質問ですが、期待する応えとしては「No」でしょうね。
送信についてはこの記述のみで十分ですが、返答を受信してその結果を条件分岐等に利用したい場合は
```JavaScript
$.ajax({
       type :'POST', //リクエストのタイプはPOST
       url : 'request/apply.php?mode=regist',//送信先 相手先は$mode = $_GET['mode'];で'regist' :へ
       data :query, //dataの中身はquery
       dataType :'html' //受信するデータの形はhtml
       success: function(data, dataType){
           console.log(data);
       },
       error: function(XMLHttpRequest, textStatus, errorThrown){
           console.log(XMLHttpRequest);
       });
```
このように、成功時と失敗時に呼ばれる「コールバック」処理を記述する必要があります。
[http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/](http://semooh.jp/jquery/api/ajax/jQuery.ajax/options/)
> ここで、「dataType :'html」は送信先から返ってきたデータ形式が「html」ということを指しているのでしょうか?
 
「返ってきた」と言うより、「返してほしい」形となります。
勿論、返答する側が対応していなければ意味がありません。
> 「送信先:url : 'request/apply.php?mode=regist',」がjson形式で返してきた場合
> 「dataType :'json'」になるんでしょうか?
 
上記の事から、「JSON形式が欲しいなら、dataType: 'json'を指定する」
という回答になります。
> 【質問②】
> 送信するパラメータ「data :query,」は「オブジェクト(var query = {};)」でないと送信できないのでしょうか?
 
基本的にはオブジェクト形式の方が便利だと思いますが、テキストをペロっと送る事も可能です。
が、受け取る側が困るんじゃないでしょうかね。
オブジェクトであれば、インデックスがあってデータがあるので、取りたい値が入っているインデックスを元にデータを引っ張って来れますが、それが出来ませんので。
> 追記:ajaxってサーバからデータを呼び出し、読み込む技術がメイン?
そうですね。JavaScriptから非同期で通信を投げ、その結果を元に色々する技術の総称としてajaxという名前で呼ばれているので。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る