ajax通信に関して、疑問点がございます。
下記は、GETリクエストによるajax通信を実装した、jquer_practice.html、及び、greet.phpです
html
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4 <meta charset="UTF-8"> 5 <title>jquery_pracitce</title> 6 <style> 7 8 </style> 9</head> 10<body> 11 12 <p>jQueryの練習</p> 13 <p> 14 <input type="text" name="name" id="name"> 15 <input type="button" id="greet" value="Greet!"> 16 17 </p> 18 <div id="result"></div> 19 20<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> 21<script> 22 $(function() { 23 $('#greet').click(function() { 24 $.get('greet.php', { 25 name: $('#name').val() 26 },function(data) { 27 $('#result').html(data.message + '(' + data.length + ')'); 28 29 }); 30 }); 31 }); 32</script> 33</body> 34</html>
php
1<?php 2//echo htmlspecialchars("hi!" . $_GET['name'],ENT_QUOTES,'utf-8'); 3$rs = array( 4 "message" => htmlspecialchars("hi!" . $_GET['name'],ENT_QUOTES,'utf-8'), 5 "length" => strlen($_GET['name']) 6); 7 8header('Content-Type: application/json; charset=utf-8'); 9echo json_encode($rs);
上記コードでは、入力された文字がphp側に渡され再びhtmlにて、出力されていると思うのですが、php側でhtmlファイルへ情報を送るための、urlの指定などはないですが、何故、htmlファイルへの情報が送信されるのでしょうか?
また、php側で送られてきたデータの処理が終了した後、header関数の記載があるのですが、こちらの記載がなければ、処理を行ったデータを返せないといったことはあるのでしょうか?
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/09 01:52
2019/05/09 01:55
2019/05/09 01:58
2019/05/09 02:01
2019/05/09 02:09
2019/05/09 02:14
2019/05/09 02:17