就職先としてSEO対策をメインにやってるところはやめたほうが大変よろしい
実力さえつけば食っていける
そういうところで働いた実績で
踏み台にするにも働きやすい職場とそうでないところがある
働きやすいところがいい
キャリアアップは可能とのこと
http://localhost/php/makino/intra_mail/api/get_mail_data.php
を開いてみましょう
→
真っ白
よろしい(冒頭のifにおちたから)
http://localhost/php/makino/intra_mail/api/get_mail_data.php?i=1
で開いてみましょう
実行結果
{"id":"1","m_to":"1","m_from":"2","subject":"\u3069\u3089\u3084\u304d\u3042\u308b\u3088","content":"\u304a\u3044\u3057\u3044\u3069\u3089\u3084\u304d\u3060\u3088\u3002\r\n\u305f\u304f\u3055\u3093\u3082\u3089\u3063\u305f\u3088\u3002","sendtime":"2020-02-21 14:52:36"}
json形式で出力されている
かな?
クリックをしたときに取得して書き出すjQuaryを書く
<script src="../jquery-3.4.1.min.js"></script>
</head>
を追加
<script src="js/mail.js"></script>
</body>
も追加
mail.jsを新規作成
function()の丸括弧は必ずいりますよ
()があったときにはじめてブラウザが「関数なんだな」と分かる訳で
いつもの
さて、件名をクリックしたときdata-idを送ってほしい
ここ
jsでこの部分は
td.subjectになる
じゃdata-idをconsoleに書き出したかったら?
→
data-idのあとにいろいろつけた、data-なになには、
全部1つのオブジェクトとして取ってくることができる。
なので
obj.id
となる
なぜかというと、data-idとかdata-id02とかdata-hogehogeとか
data属性のものはたくさん作れるし、
その「たくさん」をひとつのオブジェクトとして扱えることによる。
なので、idがほしかったらdataオブジェクトのidをくださいとなる
よって正解が
$('td.subject').on('click', function(){
var obj = $(this).data();
console.log(obj.id);
});
指定しているのはクラスだから、クリッカブルなものがたくさんある(いまはメール1通しかないが10通なら同じクラスが10個だ)から、thisがいる
data();
これはメソッド
textメソッドとかとおなじ
つまりここはゲッターとして働いている
thisのdataの中身を取って来い的な働き
さて、取ってきたものを書き出す場所にもidを振っておきましょう
mypage.phpに戻って、
<table>
<tr>
<th rowspan="3">詳細</th>
<td colspan="2" id="subject"></td>
</tr>
<tr>
<td id="m_name"></td><td id="sendtime"></td>
</tr>
<tr>
<td colspan="2" id="content"></th>
</tr>
</table>
クリックしたときにはじめて下側のが出てきてほしい
style.cssで
#mailを見えないようにしておく
mail.jsで
$(function(){
//console.log("hoge");
$('td.subject').on('click', function(){
var obj = $(this).data();
console.log(obj.id);
$('#mail').css({'display':'block'});
});
});
//Ajax通信
$.ajax({
})
.done(function(d)
仮引数dはdでもdataでもhogeでもOK
Ajax通信は3つのブロックに分けて記述する