jquery调用c#函数时出现内部服务器错误
本文关键字:内部 服务器 错误 调用 函数 jquery | 更新日期: 2023-09-27 18:29:41
我正试图使用以下代码从jquery中调用c#函数。但我只得到内部服务器错误。请帮我找出为什么以及如何修复它。谢谢。
编写脚本
<script type="text/javascript">
$(function () {
$(".matrix_tableActive").click(function (e) {
alert(e.target.id);
$.ajax({
type: "POST",
url: "Default.aspx/Download",
data: JSON.stringify({ sth: "hahaha" }),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: fnsuccesscallback,
error: fnerrorcallback
});
});
function fnsuccesscallback(data) {
alert(data.d);
}
function fnerrorcallback(result) {
alert(result.statusText);
}
});
</script>
C#
[WebMethod]
protected static String Download(String sth)
{
return sth;
}
试着像一样调用它
window.PageMethods.Download('hahaha',fnsuccesscallback,fnerrorcallback)
这和调用AJAX方法是一样的。除了参数、OnSuccess和OnError函数外,其他一切都由内部处理。
根据我的说法,web方法必须是public
和static
。
您的方法应该是public
,因为您是从javascript调用它的
它应该像
[WebMethod]
public static String Download(String sth)
{
return sth;
}
此外,为了了解错误详细信息,您应该使用以下中的error
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}