Web ページで ajax を使用しています。java スクリプト関数 (html の head セクション) で使用される変数に jsp ページでアクセスしたいです。Jsp ページは、その変数を使用してデータベースからデータを取得しています。
どうやってやるの?
私を助けてください。
Web ページで ajax を使用しています。java スクリプト関数 (html の head セクション) で使用される変数に jsp ページでアクセスしたいです。Jsp ページは、その変数を使用してデータベースからデータを取得しています。
どうやってやるの?
私を助けてください。
呼び出しデータが必要な場合は、 & を設定するか、事前に空の var を用意します。私が気付いたのは、ajax が新しい var を宣言したとしてもローカライズするということです。私が見つけた最良の方法は、既存のものに追加することです。新しい文字列またはリテラル配列/オブジェクトを使用して
<script>
function s(e){
alert(e);
}
var a = '';
//Jquery Version
$.get('test.php',function(data){
a += data;
s(a);
});
// Javascript Version
function ajaxFunction(){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
a += ajaxRequest.responseText;
s(a);
}
}
ajaxRequest.open("GET", "test.php" , true);
ajaxRequest.send(null);
}
$(function(){
ajaxFunction();
});
//-->
</script>
新しいjspファイルを追加することでそれを行うことができます。フローは次のようになります:
JavaScript 関数を使用して、databaseOperation.jsp ファイルを呼び出し、JavaScript 変数を渡します。
jsp ファイルでこの変数にアクセスし、DB から必要なコードを取得します。
これは、呼び出しを行い、その変数をリクエストajax
で渡すことで簡単に実行できますajax
<script>
var id=1;
$.get("yourpage?id="+id,function(){
//get this id serverside using `get`
})
</script>
これを実現するには、アプローチを変更する必要があります。jspファイルに記述されているデータベースコードにjavascript変数の値を設定することはできません。これは、データベース コードがサーバー側からレンダリングされ、html のみがクライアントに送信されるためです。
これを実現するには、非同期サポートを備えたこのデータベース コードを備えたコントローラー (サーブレット) を使用し、jsp ファイルで、javascript ajax を介してこのコントローラーを呼び出し、要件に合わせて HTML DOM を操作します。