将 AJAX post 发送到 ASP 时出现 500(内部服务器错误)

500 (Internal Server Error) when sending AJAX post to ASP

发送以下 POST 时,我的服务器一直收到 500(内部服务器错误)。 用简单字符串替换 dataUrl 时 'xxxxx',没有错误。

这是 AJAX 代码:

function takepic() 
{
    var canvas = document.createElement('canvas');
    var video = document.getElementById('myVideo');

    canvas.width = 640;
    canvas.height = 480;

    var ctx = canvas.getContext('2d');

    //draw image to canvas. scale to target dimensions
    ctx.drawImage(video, 0, 0, canvas.width, canvas.height);

    //convert to desired file format
    var dataUrl = canvas.toDataURL('image/png').replace('data:image/png;base64,', '');

    $.ajax({
        type: "POST",
        url: "MyPage.aspx/UploadImage",
            data: '{ "imageData" : "' + dataUrl + '" }',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (msg) {
            }
        });
}

这是服务器代码:

[WebMethod]
public static void UploadImage(string imageData)
{
    byte[] data = Convert.FromBase64String(imageData);
}

通过将 web.config 更改为解决:

<system.web.extensions>
      <scripting>
           <webServices>
                <jsonSerialization maxJsonLength="50000000"/>
           </webServices>
       </scripting>
</system.web.extensions>