0

私は以前にAjaxでJQueryを正常に使用しましたが、フォーム要素に対してのみ使用しました(GETおよびPOSTを使用)。非フォーム要素にJqueryとAJAXを使用する方法を理解しようとしています。私はこのようなリストを持っています:

  • item1
  • item2
ユーザーがアイテムをクリックしたときに、サーバーにアクセスして、ページを更新せずにデータベースにアイテム番号を書き込むために必要です。

誰か助けてくれませんか?


編集:PHPの使用

これが私が使っているコードですが、正しく使う方法がわかりません:

$(document).ready(function(){
$("#rating_toggle").click(function() {
    $.ajax({
        type: "POST",
        url: "rating/test",
        data: "????????",
        success: function(data){
            alert(data);
        }
    });
    return false;
});

});

4

3 に答える 3

3

非フォーム要素である要素をクリックして、ajaxリクエストで送信することもできます。

リクエストからreturnfalseを削除します..それは必須ではありません..

$('li').on('click', function(){

    $.ajax({
            url : 'rating/test',
            type : 'POST',
            dataType : 'json',
            data : { your data},
            success :  function(result){
                alert('Inserted into database')
             },
             error : function(xhr,text ,error){
                alert('Error occured !!')
             }
           });

});
于 2012-11-21T16:13:04.107 に答える
0

この簡単なスニペットを書きました

$(function() {
    $('ul li').click(function() {
        var selectListItem = $(this).text();
        $.ajax({
            type: "POST",
            url: "yourserverpage.php",
            data: { selectedItem: selectListItem },
            success: function(returnData) { alert('Saved '+selectListItem+' and returned '+ returnData); }
        });
    });
});
于 2012-11-21T16:17:15.080 に答える
0

これは私がそれをする方法です...

  • $(selector).on('click', function(){ ... })リストアイテムをクリックしてトリガーされるイベントをバインドするために使用します
  • $(this).index()(バインドされたクリック関数内から)その兄弟に関連するアイテムのインデックスを取得するために使用します
  • $.post(url,data,success_callback)はサーバーにデータを送信するために使用します。ここurlで、は単純なurl文字列であり、dataは送信するデータから構築されたjavascriptオブジェクトでありsuccess_callback、サーバー側が受信/処理の確認を送信した後に実行される関数です。

サーバー上で、phpは$_POST、ajaxリクエストで送信されたデータオブジェクトのキーと一致する一連のデータを含むリクエストを受信します。

于 2012-11-21T16:14:57.807 に答える