我想發送文本框和輸入文件數據到我的webmethod。我一直在使用Google相當一段時間,但現在仍然不知道我怎麼能做到這一點:如何使用jquery ajax調用發送texbox和attachment到webmethod?
jQuery的/ AJAX調用:
var dataToSend = new FormData();
dataToSend.append('file', document.getElementById("myFile").value);
dataToSend.append('text', document.getElementById("biddername").value);
$.ajax({
type: "POST",
url: "SupplierMaster.aspx/RegisterSupplier",
data: dataToSend,
processData: false,
contentType: false,
dataType: false,
async: true,
success: function (data, status) {
console.log("CallWM");
alert(data.d);
},
failure: function (data) {
alert(data.d);
},
error: function (data) {
alert(data.d);
}
});
}
的WebMethod:
[WebMethod]
public static string RegisterSupplier(HttpPostedFile file, string biddername)
{
return "a";
}
看來,我無法調用webmethod。
EDIT1(如卡希夫建議):
$.ajax({
type: "POST",
url: "SupplierMaster.aspx/RegisterSupplier",
data: "{'file' : " + 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);
}
});
[System.Web.Services.WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string RegisterSupplier(HttpPostedFile file, string biddername)
{
return "a";
}
*
首先你要在ajax中調用的'url'是'SupplierMaster.aspx/RegisterSupplier',但是你沒有名爲'RegisterSupplier'的方法,而不是你向我們顯示名爲'SubmitBid'的方法。 –
@GuruprasadRao對不起,我寫了webmethod而不是複製粘貼。我已經更新了這個問題,但問題仍然存在 – Arbaaz
你試過把斷點?它擊中該webmethod? –