gpt4 book ai didi

javascript - 使用 Ajax 发送数组并在 ASP Classic 页面中接收它

转载 作者:行者123 更新时间:2023-12-03 08:14:12 25 4
gpt4 key购买 nike

我需要在 ASP 页面中使用 AJAX 传递数组。
我尝试将它作为 GET 传递以查看它发送的数据,我注意到 ASP 仅接收数组的最后一条记录。
我如何发送和接收整个数组? (最好使用POST方法)

Javascript

function editar(i) {
arr=[];
j=0;
for (n=2; n<=9; n++) {
arr[j]=$("#"+i+"-"+n).val(); //saves in the array all the field of a table's row
}
$.ajax ({
url:"page.asp",
data: { arr:arr },
type:"POST"
}).done(function(msg){
alert(msg)
})
}

ASP页面.asp

<%  
redim arr(10)
for i=0 to 9
arr(i)=request.Form("arr[]") 'Tried without the square brackets too
next
%>

最佳答案

html 表单没有数组数据结构。事实上,html 表单实际上并不具有数据类型:几乎您放入表单中的所有内容都会以字符串形式返回。因此,最好的选择可能是将数组写入字符串(通过 .join()),然后您可以在另一端解析该字符串(例如使用 Split() >).

请记住,我在 JavaScript 方面很糟糕,我认为你会做类似的事情

data: { 'arr':arr.join('+++') }

然后在你的 VBScript 中,你会这样做

dim arr '- note that you're NOT dimming as an array
arr = Split(Request.Form("arr"),"+++")

请注意,在实践中,每当我使用 Split 时,我都会在末尾添加一个分隔符,只是为了确保 Split 不会抛出错误。

const delimiter = "+++"
arr = Split(Request.Form("arr") & delimiter,delimiter)

关于javascript - 使用 Ajax 发送数组并在 ASP Classic 页面中接收它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34020045/

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