JSON字符串参数不起作用

JSON string parameter not working

本文关键字:不起作用 参数 字符串 JSON      更新时间:2023-09-26

我有一些带有JSON参数的trobule。以下是部分代码:

<script type="text/javascript">
    $("#deco").click(function () {
        var cap = document.getElementById('canvasVideo').toDataURL();
        var canvas = document.getElementById('captImage');
        var context = canvas.getContext('2d');
        var imageObj = new Image();
        imageObj.onload = function () {
            context.drawImage(imageObj, 0, 0);
        };
        imageObj.src = cap;
       //var cap = 'hardcoding' ; if i hardcode the text, and pass this as a parameter, it works.
        $.getJSON('/Home/decodeQR', { img : cap  },
            function (idDonante) {
                document.getElementById("result").value = idDonante;
            });
        });
</script>

在服务器端,我得到了以下内容:

    [AcceptVerbs(HttpVerbs.Get)]
    public JsonResult decodeQR(string img)
    {
        var idDonante = getIDQR(Conversion.Base64StringToBitmap(img));
        return Json(idDonante, JsonRequestBehavior.AllowGet);
    }

正如代码中所提到的,如果我对参数进行硬编码,它就会工作。我认为问题出在从canvas.to DataURL()中获取字符串的变量上,但我不确定。

EDIT:我必须提到,现在,服务器上的JsonResult方法从未被调用,除非我对img属性进行硬编码。

URL的长度是有限制的。请参阅此处:在不同的浏览器中,URL的最大长度是多少?

您应该将编码的图像数据张贴到您的服务器上。