( #PHPサンプル )非同期通信のPHPサンプルコードを作ってみましたのでどうぞ。
この投稿は1年以上前に公開されました。 現在の情報とは異なる可能性がありますので、ご了承ください。
非同期通信で入力した文字をURLエンコード して返す、コードを書いてみましたのでどうぞ。お使いください。ただし、この処理には欠陥があって処理に負荷がかかると上手く結果を返してくれない恐れがあります。非同期処理なので処理するプログラムにばんばんと値を投げますが、返答を待たずに次の処理を投げるので、どの処理が最初に返ってくるのかは、わからないのです。一見、うまく動いてそうですけどただ、処理に負荷がかかっていないのでうまく処理された状態になっているだけです。なので、非同期処理を使う場合は、投げる値にID(順番)を付与して処理しないといけないです。
トイウコトデ、サンプルコードを置いときますのでお使いください。(デモサイトこちら)
https://zip358.com/tool/sample-0301.zip(DL)
ソースは下記参照
HTML側(JQuery側)のソース=処理を投げる側=処理された結果を出力する側。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>zip358.com:sample-非同期</title>
<script src="//code.jquery.com/jquery-1.11.2.min.js"></script>
<script src="//code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
<script>
$(function(){
$("#textarea-hoge").keyup(function() {
$.ajax({
type: "POST",
url: "sample-0301.php",
dataType:'html',
data: {
"hoge" : $("#textarea-hoge").val(),
},
success: function(data) {
$("#hoge2").text(data);
},
error:function(data) {
}
});
});
});
</script>
</head>
<body>
<br><br>文字をURLエンコード処理して返します。何か入力してください。<br>※非同期通信なので性格に処理してくれるわけではありません。<br><br>
<textarea id="textarea-hoge" rows="10" cols="100"></textarea>
<br>
<div id="hoge2"></div>
</body>
</html>
PHP側のソース=処理する側。
<?php $hoge = $_POST['hoge']; echo "urlエンコードされた文字::".urlencode($hoge)."通常文字::".$hoge; ?>