OK、これが可能かどうかはよくわかりませんが、とにかく聞いてみようと思いました:)
いくつかの情報とリンクを含むHTMLページがあります。リンクはJavaScript確認ダイアログボックスを呼び出します。ユーザーが[OK]を選択した場合、PHPファイルで関数を呼び出したいのですが、バックグラウンドで、つまりページを変更したり、リロードしたりする必要はありません。
これは可能ですか?
ありがとう
T
OK、これが可能かどうかはよくわかりませんが、とにかく聞いてみようと思いました:)
いくつかの情報とリンクを含むHTMLページがあります。リンクはJavaScript確認ダイアログボックスを呼び出します。ユーザーが[OK]を選択した場合、PHPファイルで関数を呼び出したいのですが、バックグラウンドで、つまりページを変更したり、リロードしたりする必要はありません。
これは可能ですか?
ありがとう
T
AJAXを使用します。以下はjQueryを使用しています。
if(confirm('Are you sure?')) {
$.ajax({
url: '/path/to/file.php',
data: 'url=encoded&query=string', // Can also be an object
success: function(output) {
// This function is called after the PHP file completes.
// The variable passed in is a string containing all output of
// your PHP script (i.e. echo / print )
}
});
}
詳細については、AJAXに関するjQueryのドキュメントを確認してください。jQueryを使用できない場合は、ネイティブJavaScriptを使用してAJAXリクエストを作成するため のチュートリアルが多数あります。
PHPから成功関数に大量のデータを返す場合は、PHPからデータをJSONエンコードされた配列として返すことをお勧めします。これは、クライアント側でJavaScriptオブジェクトに安全に解析できます。
$('.LinkClass').click(function(){
if( confirm('Is it OK?') ) {
$.ajax({
url: 'action.php',
type: 'POST',
data: 'data=value', // Can also be an object
success: function(data) {
// Do Nothing
},
error: function(){
alert('Error');
}
});
}
});