【发布时间】:2020-07-28 15:16:07
【问题描述】:
我创建了一个 ajax 调用并试图将一个对象作为参数发送到服务器,但我收到以下错误:
Invalid web service call, missing value for parameter: 'itemTypes'
我检查了 javascript 中的 itemTypes 变量,它包含预期值:
sessionStorage.itemTypeUid = "18"
sessionStorage.itemTypeName = "TABLE_NAME"
args = {CurId: 18, BaseTableName: "TABLE_NAME"}
javascript:
var itemTypes = {
CurId: parseInt(sessionStorage.itemTypeUid),
BaseTableName: sessionStorage.itemTypeName
};
aj("DeleteItem", itemTypes);
阿贾克斯:
function aj(funcName, args) {
retval = $.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: 'ItemEdit.asmx/' + funcName,
data: JSON.stringify(args),
dataType: "json",
error: function (a, b, c) {
var errors = a + b + c
}
});
}
VB:
<WebMethod()>
Public Sub DeleteItem(itemTypes As Object)
Dim CurId = ""
Dim BaseTableName = ""
actions.DeleteItem(CurId, BaseTableName)
End Sub
【问题讨论】:
-
这里的
sessionStorage变量是什么? -
sessionStorage.itemTypeUid = "18", sessionStorage.itemTypeName = "GRIT_SALT_BINS", args = {CurId: 18, BaseTableName: "GRIT_SALT_BINS"}
-
那么,
sessionStorage是这里的对象吗? -
@palaѕн 抱歉,没有回答您的问题。是的,会话存储是一个有一堆值的对象
-
现在可以使用了。我没有注意到 sub 说 CurID 而不是 CurId,所以您的解决方案确实有效,非常感谢您的帮助。
标签: javascript asp.net ajax vb.net webmethod