【发布时间】:2015-07-25 20:11:55
【问题描述】:
这甚至可能吗?我有一个带有某些文本框等的网络表单和一个文件上传元素。我正在尝试使用 .ajax() 方法将数据发送到 webmethod。
在我看来,无法以这种方式将文件内容发送到 webmethod。我什至无法使用网络方法。
script type="text/javascript">
var btn;
var span;
$(document).ready(function (e) {
$('#btnsave').on('click', function (event) {
Submit();
event.preventDefault();
});
})
function Submit() {
$.ajax({
type: "POST",
url: "SupplierMst.aspx/RegisterSupplier",
data: "{'file' : " + btoa(document.getElementById("myFile").value) + ",'biddername':" + document.getElementById("txtsuppliername").value + "}",
async: true,
contentType: "application/json; charset=utf-8",
success: function (data, status) {
console.log("CallWM");
alert(data.d);
},
failure: function (data) {
alert(data.d);
},
error: function (data) {
alert(data.d);
}
});
}
</script>
HTML:
<input id="txtsuppliername" type="text" /><br />
<input type="file" id="myFile">
背后的代码:
[WebMethod]
public static string RegisterSupplier(string file, string biddername)
{
// break point not hit
return "a";
}
几个小时以来,我一直在努力寻找解决方案。似乎没有人能够帮助我解决这个问题。这甚至可能使用这种方法。如果不是,我该怎么做?有人建议我应该尝试提交整个表单而不是传递单个值。
【问题讨论】:
-
尝试使用Json stringify向服务发送数据
-
@dazzlingkumar Jsonstringify 发送文件?
-
是的,以 Json 格式发送到服务,然后它会命中服务
-
@Arbaaz 你想在 webmthod 中发送文件名吗?
-
@MairajAhmad 我想自己发送文件。
标签: javascript jquery asp.net ajax webforms