當我使用參數調用Web服務方法時,出現此錯誤:「Web服務調用無效,參數缺失值」。無效的Web服務調用,缺少asmx web服務參數的值
我使用一個沒有返回相同類型的對象的參數的Web服務方法進行測試,它運行良好。
這裏是我的web服務方法:
[WebMethod]
[ScriptMethod(UseHttpGet = true)]
public ResponseStatistic_3 Statistic_3(string klant)
{
Statistic_3[] items = Helper.Helper_Statistic_3(klant).ToArray();
ResponseStatistic_3 response = new ResponseStatistic_3(items);
return response;
}
這裏是我的javascript代碼,我檢索KLA變量物有所值:
function getStatistic3() {
var response;
var allstat3 = [];
var kla = $('#Select1').val();
var dataJSon = { klant: kla }
if (kla) {
$.ajax({
type: 'GET',
url: 'http://localhost:52251/Service1.asmx/Statistic_3',
data: dataJSon,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
processData: false,
success: function (msg) {
response = msg.d;
for (var i = 0; i < response.Items.length; i++) {
var j = 0;
allstat3[i] = [response.Items[i].Interventie, response.Items[i].Sum[j], response.Items[i].Sum[++j], response.Items[i].Sum[++j], response.Items[i].Sum[++j], response.Items[i].Sum[++j]];
}
fillDataTable(allstat3);
},
error: function (e) {
alert("error loading statistic 3");
}
});
} else {
alert("statistic 3 null");
}
}
我與JSON.stringify測試過( {klant:kla})和我有同樣的錯誤。
我看了幾個論壇,但徒勞無功。 有什麼問題?
僅供參考,您並未使用WCF,而是使用ASMX。 ASMX是一項傳統技術,不應該用於新開發。 WCF或ASP.NET Web API應該用於Web服務客戶端和服務器的所有新開發。一個暗示:微軟已經在MSDN上退役了[ASMX Forum](http://social.msdn.microsoft.com/Forums/en-US/asmxandxml/threads)。 –
我知道,我從wcf開始,但我有一個問題,我幾天無法解決。藉助asmx,我可以很快解決這個問題。謝謝你加油...... – Jayce
如果你只是把它作爲字符串發送('data:「klant ='test'」'),會發生什麼?它通過了嗎? –