Getting Error: 500 Internal server error when using AJAX POST to C# Webmethod
Getting Error: 500 Internal server error when using AJAX POST to C# Webmethod
var image = document.getElementById("capture").toDataURL("image/png");
image = image.replace('data:image/png;base64,', '');
alert(image);
$.ajax({
type: 'POST',
url: 'Info.aspx/testingPOST',
data: '{ "imageData" : "' + image + '" }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(response, textStatus, jqXHR) {
alert("File Saved");
},
error: function (jqXHR, exception) {
var msg = 'error';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert("error:" + msg);
}
})
}
使用上面的方法将 post 我的 canvas 图像传送到网络方法,然后只需在下面的 c# 中进行简单检查。我收到错误 500。
我查看了各种 posts,但似乎找不到任何可以使它正常工作的调整,我关闭了 app_start 中的自动重定向和其他各种建议。但是还是没有。
[WebMethod]
public static bool testingPOST(string value)
{
return true;
}
WebMethod
告诉应用程序它是通过 XML WebService 请求访问的。如果你想通过 POST
访问它,你将需要 ScriptMethod
属性:
[ScriptMethod]
public static bool testingPOST(string value)
{
return true;
}
查看此答案了解更多信息:
what is web method attribute in web service?
我在GoogleChrome中使用了开发者工具,点击报错,然后预览..显示json字符串长度太长。
我使用以下内容编辑了 webconfig,现在可以使用了!
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="500000000"/>
</webServices>
</scripting>
</system.web.extensions>
var image = document.getElementById("capture").toDataURL("image/png");
image = image.replace('data:image/png;base64,', '');
alert(image);
$.ajax({
type: 'POST',
url: 'Info.aspx/testingPOST',
data: '{ "imageData" : "' + image + '" }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function(response, textStatus, jqXHR) {
alert("File Saved");
},
error: function (jqXHR, exception) {
var msg = 'error';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert("error:" + msg);
}
})
}
使用上面的方法将 post 我的 canvas 图像传送到网络方法,然后只需在下面的 c# 中进行简单检查。我收到错误 500。 我查看了各种 posts,但似乎找不到任何可以使它正常工作的调整,我关闭了 app_start 中的自动重定向和其他各种建议。但是还是没有。
[WebMethod]
public static bool testingPOST(string value)
{
return true;
}
WebMethod
告诉应用程序它是通过 XML WebService 请求访问的。如果你想通过 POST
访问它,你将需要 ScriptMethod
属性:
[ScriptMethod]
public static bool testingPOST(string value)
{
return true;
}
查看此答案了解更多信息:
what is web method attribute in web service?
我在GoogleChrome中使用了开发者工具,点击报错,然后预览..显示json字符串长度太长。
我使用以下内容编辑了 webconfig,现在可以使用了!
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="500000000"/>
</webServices>
</scripting>
</system.web.extensions>