使用JavaScript/JQuery在AJAX上传递数组
Pass an array over AJAX using JavaScript/JQuery
请看下面的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
未调用webmethod。如果我从JavaScript调用中删除数组参数,从调用JavaScript中删除字符串数组,那么它就可以工作,即消息框显示。因此,我的问题是如何通过AJAX传递数组。
我在这里看到了其他一些问题,但它们与PHP和Java有关,而不是VB.NET。
在将其传递给ajax调用之前,您需要将其JSON.stringify()
(将其转换为JSON)。
类似:
data: '{str: ' + JSON.stringify(arrayDisposals) + ', strCon: "' + $("#<%=fieldGenieConnectionString.ClientID%>")[0].value + '"}',
相关文章:
- 如何在Javascript中解析AJAX数组的特定部分
- 访问$.ajax()函数中的两个不同数组
- 作为一个二维数组,从ajax接收
- 如何在不使用ajax的情况下将pair值添加到数组并发送到django中的视图
- 将数组从ajax传递到python(Tornado)
- ajax成功地将数组中的数据放入表中各自的输入中
- jQuery Ajax数组序列化错误
- AJAX jquery json将数组发送到php
- 如何显示从Ajax请求返回的数组.使用Yii2
- 后关联数组使用jquery ajax
- 将ajax数组缓冲区响应绘制到画布中
- 使用Javascript数组或JSON来存储AJAX请求的返回值,以备将来使用
- 通过iron-ajax初始化对象数组(链接到caller's元素的响应)
- 发送数组 ajax.request 原型
- 遍历两个 JSON 数组 Ajax
- 发送不可编辑的JSON数组&Ajax
- 浏览器崩溃-复选框数组Ajax (PHP)
- 多维数组的多复选框组值jQuery post数组AJAX
- $内部的函数结果数组.Ajax被转换为字符串
- 传递键值数组AJAX