私はAjaxでPHPからデータを取得するためにJavaScriptをブリッジする最良の方法を試してきました。 そして、すべてのコード行を最小限に抑えようとすると同時に、最大限のスピードを保ちます。 私はAJAXにObjectによる値を渡す方法を思いついたので、あたかも参照渡しのように変更してから返すことができます。しかしこれまでのところ、私はAJAXが完了するまでデータが利用できないので、これを同期するしかありません。HTML/AJAX/PHP同期調和?非同期で動作することはありますか?
ポイントは 私はjavascriptですべてのPHPコンテンツにアクセスする簡単な方法を探していました。 単純なjavascript(GetSomePHPstuff)APIをビルドします。
私はWebプログラミングの初心者ですから、これに関するいくつかの意見やフィードバックをお待ちしています。 これは私が思いついたものです。
この例では、htmlからjavascriptを使用してajaxに、phpはajaxに戻ってjavascriptからback to my HTMLページに戻します。
ここでは、単純なHTMLタイプのファイルを示します。ここでtest.htmlという
<script language="javascript" src="ajax.js"></script>
<input type="text" id="text"/>
<input type="button" value="Return Text"
onClick="alert(ajaxReturnText(document.getElementById('text').value));"/>
は、Ajax/JavaScriptのファイルです。
AJAX.js
function ReturnText(input, output){
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
output.value = xmlhttp.responseText;
}
}
xmlhttp.open("GET","php.php?text="+input,false);
xmlhttp.send();
}
function ajaxReturnText(input){
var output = new Object();
ReturnText(input, output);
return output.value
}
そして、ここでPHPファイルには、これは非同期でこのように動作することはできません
php.php
<?php
function ReturnText($text){
return $text;
}
if($text = $_GET["text"]){
echo ReturnText($text);
die();
}
?>
サー/マダム、あなたは[jQuery](http://jquery.com/)について聞いたことがありますか? – Blender
まずは、ブラウザごとにあまりにも多くのコードを書く必要がないように、JavaScriptライブラリを使用することをお勧めします。これは、いくつかのJSフレームワークによって解決されたものです。 – MarioRicalde
別のライブラリを使用せずに、このコードをどのように非同期で動作させることができますか? – aquawicket