[英]Sending data from JQuery to C#, ASP.Net
我在.aspx表单页中有一个画布,可以在其中签名。我想将base64数据从JQuery客户端发送到C#Asp.Net端。 在这里,我想将此base64数据上传到数据库。
(我尝试过的几件事)jQuery:
$("#savebtn").bind("click", function () {
var base64 = $('#sketch')[0].toDataURL("image\png");
$.ajax({
url: 'EvaluatieForm.aspx', // page where i have button listenener
data: '{ data: "' + base64 + '"}',
type: 'POST',
async: true,
cache: false,
contentType: "application/json; charset=utf-8",
success: function (result) {
console.log("inside sucess");
console.log("result: " + result);
},
error: function (request, error) {
// This callback function will trigger on unsuccessful action
alert('Error!');
}
});
$.post("EvaluatieForm.aspx", { data: base64 }); // another thing i tried
C#:
var d = Request.Params["data"];
当我在其上设置断点时,变量d为null。 有人看到我如何解决这个障碍,或者使它变得容易吗? (注意:我对JQuery没有太多的经验)
带有base64的JSON可以作为请求正文使用。
using (StreamReader reader = new StreamReader(context.Request.InputStream))
{
string text = reader.ReadToEnd();
}
如果您更换
url: 'EvaluatieForm.aspx'
通过
url: 'EvaluatieForm.aspx?data=' + base64
并删除
data: '{ data: "' + base64 + '"}',
那么它将起作用。
尝试以下操作:在现有代码中做一个很小的更改,使用JSON.stringify发布数据。
$("#savebtn").bind("click", function () {
var base64 = $('#sketch')[0].toDataURL("image\png");
var objectToPasss = {data: base64};
var postData =JSON.stringify(objectToPasss );
$.ajax({
url: 'EvaluatieForm.aspx', // page where i have button listenener
data: postData,
type: 'POST',
async: true,
cache: false,
contentType: "application/json; charset=utf-8",
success: function (result) {
console.log("inside sucess");
console.log("result: " + result);
},
error: function (request, error) {
// This callback function will trigger on unsuccessful action
alert('Error!');
}
});
$.post("EvaluatieForm.aspx", { data: base64 });
尝试这个:
$("#savebtn").bind("click", function () {
$.ajax({
url: 'EvaluatieForm.aspx', // page where i have button listenener
data: {
sketch: $('#sketch')[0].toDataURL("image\png")
},
type: 'POST',
async: true,
cache: false,
contentType: "application/json; charset=utf-8",
success: function (result) {
console.log("inside sucess");
console.log("result: " + result);
},
error: function (request, error) {
// This callback function will trigger on unsuccessful action
alert('Error!');
}
});
哪里
var d = Request.Params["sketch"];
jQuery ajax()函数中的data参数与contentType结合使用。 当您将其设置为application / json时,则有理由将数据序列化,因此设置sketch变量似乎是正确的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.