5

OK、これが可能かどうかはよくわかりませんが、とにかく聞いてみようと思いました:)

いくつかの情報とリンクを含むHTMLページがあります。リンクはJavaScript確認ダイアログボックスを呼び出します。ユーザーが[OK]を選択した場合、PHPファイルで関数を呼び出したいのですが、バックグラウンドで、つまりページを変更したり、リロードしたりする必要はありません。

これは可能ですか?

ありがとう

T

4

2 に答える 2

6

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オブジェクトに安全に解析できます。

于 2012-05-18T16:41:21.187 に答える
3
$('.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');
        }
    });

  }

});
于 2012-05-18T16:45:42.963 に答える