2011-08-16 108 views
1

我正在创建一个简单的“这有用吗?”使用是和不使用对象 - 使用ASP.net webforms。使用Ajax通过Jquery调用函数/数据库更新

我需要通过使用jQuery的ajax来完成提交,以防止用户在同一页面上多次投票..目前,我有两个方法Like_Click和Dislike_click在页面背后的问题。

谁能给我一些指点,或者通过jQuery的简单的Ajax任何合适的演练一个链接(我是新来的阿贾克斯!)

伊夫看着使用每个方法的[的WebMethod]标识符但完全不了解这种方法。

感谢

+0

这样做“通过使用jquery的ajax”不会“阻止用户在同一个pag上多次投票E”。他们可以手动触发发送ajax请求的JS或直接点击URL。您应该验证他们在服务器端之前没有投票。 – Spycho

+0

im试图做的是使用ajax来防止刷新页面重新提交,同时在触发JS时禁用对象onclick事件。 – Jay

回答

0

您可能正在寻找jQuery的post function。看看例子。你会想要做的线沿线的东西:

$('.myForm').submit(function(){ //define a handler for the submit event of the form 
    $.post($(this).attr('action'), {useful: true}); //send data via ajax 
    return false; //prevents the form from submitting via a normal web request 
}); 
0

你可以尝试像下面如下所示

[WebMethod] 
public static string UpdateDB(string like, string dislike) 
{ 
    //Add your stuff 
} 

<script type="text/javascript"> 
    $(function() { 
     $('#btnSubmit').click(function() { 
      var like = $('#Like').val(); 
      var dislike = $('#Dislike').val(); 
      if (name != '' && email != '') { 
       $.ajax 
        ({ 
         type: 'POST', 
         url: 'Home.aspx/UpdateDB',  //UpdateDB is declared as WebMethod 
         async: false, 
         data: "{'like':'" + like + "','dislike':'" + dislike + "'}", 
         contentType: 'application/json; charset =utf-8', 
         success: function (data) { 
          var obj = data.d; 
          if (obj == 'true') { 
           $('#Like').val(''); 
           $('#Dislike').val(''); 
           alert("Data Saved Successfully"); 
          } 
         }, 
         error: function (result) { 
          alert("Error Occured, Try Again"); 
         } 
        }); 
      } 
     }) 
    }); 
</script> 

WEBMETHOD去看一下更详细信息,在这里Call WebMethod from jquery in ASP.NET