gpt4 book ai didi

javascript - 使用 JavaScript/JQuery 通过 AJAX 传递数组

转载 作者:行者123 更新时间:2023-12-02 17:07:06 24 4
gpt4 key购买 nike

请参阅下面的 JavaScript 代码:

function SaveOrReview(Me)
{
var frm = document.forms[0];
var arrayDisposals;
var intCount;
var arrayDisposals = new Array();
for (i = 0; i < frm.elements.length; i++) {
if (frm.elements[i].type == "checkbox" && frm.elements[i].name.substr(0, 3) == "Del") {
arrayDisposals.push(frm.elements[i].id)
}
}

$.ajax({
type: "POST",
url: "PrimaryNominalAjax.aspx/AddDisposalList",
data: '{str: "' + arrayDisposals + '", strCon: "' + $("#<%=fieldGenieConnectionString.ClientID%>")[0].value + '"}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess(),
failure: function (response) {
alert('there was an error updating a MOPI grade')
}

});

function OnSuccess() {
return function (response) {
alert('succeeded')
}
}
}

以及下面的服务器端代码:

<System.Web.Services.WebMethod()> _
Public Shared Function AddDisposalList(ByVal str() as string, ByVal strCon As String) As String
msgbox("test")
end function

未调用 web 方法。如果我从 JavaScript 调用中删除数组参数,并从调用 JavaScript 中删除字符串数组,那么它就会起作用,即消息框显示。因此我的问题是如何通过 AJAX 传递数组。

我在这里查看了其他一些问题,但它们与 PHP 和 Java 相关,而不是 VB.NET。

最佳答案

在将其传递给 ajax 调用之前,您需要对其进行 JSON.stringify()(将其转换为 JSON)。

类似于:

data: '{str: ' + JSON.stringify(arrayDisposals) + ', strCon: "' + $("#<%=fieldGenieConnectionString.ClientID%>")[0].value + '"}',

关于javascript - 使用 JavaScript/JQuery 通过 AJAX 传递数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25157940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com