Я создаю подпись на стороне клиента в javaScript
и затем пытаюсь отправить результат в код (c#
) через ajax.Полученный массив, который я пытаюсь передать, имеет тип uint8clampedarray
, и я не могу этого сделать, так как метод кода никогда не срабатывает.Он использует метод загрузки страницы, но не метод SetSignature.
javaScript
var signatureByteArray = signature.getSignatureImage();
SendArrayViaAjax(signatureByteArray);
function getSignatureImage() {
return ctx.getImageData(0, 0, canvas.width, canvas.height).data;
}
function SendArrayViaAjax(signatureArray) {
var sigArray = JSON.stringify( signatureArray);
$.ajax({
type: "POST",
data: { array: sigArray },
dataType: "json",
contentType: "application/json; charset=utf-8",
url: "/Intranet/OHS/SOP/SOPSignOffs.aspx/SetSignature",
success: function (msg) {
alert(msg.d + "success");
},
error: function (response) {
alert("an error has taken place");
}
});
}
код позади
[WebMethod]
public static string SetSignature(string[] array)
{
var x = array[2];
return "success";
}
Мой вопрос: как мне отправить массив как uint8clampedarray
через ajax и как мне получить его в c #?Или есть лучший способ?
ctx = canvas.getContext("2d");`
- вот как я получаю элемент Canvas
.Генерация подписи thew работает очень хорошо, просто отправьте ее обратно на C#
, что является проблемой.