通过 Jquery 使用 Ajax 调用函数/数据库更新
Posted
技术标签:
【中文标题】通过 Jquery 使用 Ajax 调用函数/数据库更新【英文标题】:Calling a function / database update using Ajax via Jquery 【发布时间】:2011-10-28 04:56:23 【问题描述】:我正在创建一个简单的“这有用吗?”带有 Yes 和 No 对象的表单 - 使用 ASP.net webforms。
我需要使用 jquery 通过 ajax 完成提交,以防止用户在同一页面上多次投票。目前我在相关页面后面的 C# 代码中有两种方法 Like_Click 和 Dislike_click。
谁能给我一些关于通过 jquery 进行简单 ajax 演练的指导或链接(我是 ajax 新手!)
我研究过在每个方法上使用 [WebMethod] 标识符,但并没有完全理解这个方法。
谢谢
【问题讨论】:
“通过 ajax 使用 jquery”进行操作不会“阻止用户在同一页面上多次投票”。他们可以手动触发发送 ajax 请求的 JS 或直接点击 URL。您应该在服务器端之前验证他们没有投票。 我试图做的是使用 ajax 来防止页面在刷新时重新提交,同时在触发 JS 时禁用对象 onclick 事件。 【参考方案1】:您可能正在寻找 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
);
【讨论】:
【参考方案2】:你可以试试下面的方法
<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如下所示
[WebMethod]
public static string UpdateDB(string like, string dislike)
//Add your stuff
在这里查看更多详情Call WebMethod from jquery in ASP.NET
【讨论】:
以上是关于通过 Jquery 使用 Ajax 调用函数/数据库更新的主要内容,如果未能解决你的问题,请参考以下文章
Laravel - 如何通过 AJAX (jQuery) 调用控制器函数
django - ajax - 从 jquery/ajax 调用 python 函数
如何使用 jquery ajax 调用来调用 php 函数? [复制]