0

我之前已经成功地将 JQuery 与 Ajax 一起使用,但仅用于表单元素(使用 GET 和 POST)。我试图弄清楚如何将 Jquery 和 AJAX 用于非表单元素。我有一个这样的列表:

  • 项目1
  • 项目2
当用户单击一个项目时,我需要它访问服务器并将项目编号写入数据库而不刷新页面。

有人可以帮帮我吗?


编辑:使用 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 请求单击非表单元素的元素。

从您的请求中删除 return false .. 这不是必需的..

$('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 回答