【发布时间】:2019-08-09 03:14:41
【问题描述】:
我有一个问题,我的代码不起作用! 它给了我一个通用的服务器错误(500)。 我不明白出了什么问题;我试图用调试进行检查,当它进入ajax然后跳转错误.. 请检查代码: 这是前端:
<asp:Content ID="Content2"
ContentPlaceHolderID="ContentPlaceHolderMainBody" runat="server">
<form onsubmit="Dati()" action="InterventionsManagerNew.aspx">
<div id="container">
<div id="signature"></div>
<div id="Pulsanti">
<input id="Button1" type="button" value="Salva" onclick="Dati()"/>
<input id="Button5" type="button" value="Pulisci"
onclick="Reset()" />
</div>
</div>
</form>
</asp:Content>
Js:
function Dati() {
var $sigdiv = $("#signature");
var datapair = $sigdiv.jSignature("getData", "base30");
var i = new Image();
var s = "data:" + datapair[0] + "," + datapair[1];
var Dato = { "userdata": s };
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "InterventionsManagerSignature.aspx/Firma",
data: JSON.stringify(Dato),
datatype: "json",
success: function (result) {
//do something
alert("SUCCESS = " + result.d);
// close_window();
console.log(result);
},
error:function(jqXHR, exception) {
if (jqXHR.status === 0) {
alert('Not connect.\n Verify Network.');
} else if (jqXHR.status == 404) {
alert('Requested page not found. [404]');
} else if (jqXHR.status == 500) {
alert('Internal Server Error [500].');
} else if (exception === 'parsererror') {
alert('Requested JSON parse failed.');
} else if (exception === 'timeout') {
alert('Time out error.');
} else if (exception === 'abort') {
alert('Ajax request aborted.');
} else {
alert('Uncaught Error.\n' + jqXHR.responseText);
}
}
});
};
在后端我有:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string Firma(string userdata)
{
return "Ciao, " + userdata;
}
它每次都给我同样的错误,而不会触发回发 webmethod 请帮助我理解我错了!!!
【问题讨论】:
-
错误出现在哪一行?当您发布时,它是否会触发您的控制器操作 (
Firma)? -
我相信你需要像这样声明你的 webmethod 为静态的:
public static string Firma(string userdata)
标签: jquery asp.net ajax web-applications