使用jQuery AJAX post将JS数组传递给VB.Net
我使用jQuery AJAX post请求将客户端JS数组传递给服务器端VB.NET代码。我有一个可行的方法,但我想知道最佳实践。我是这样开始的: JS: VB: 在JS中,myArray.toString将我的数组转换为逗号分隔的字符串Apple、Banana,然后在VB中,Split将其转换回字符串数组 然后我发现ajax会自动为您序列化数组。这样我就可以不使用.toString了:使用jQuery AJAX post将JS数组传递给VB.Net,ajax,vb.net,jquery,post,Ajax,Vb.net,Jquery,Post,我使用jQuery AJAX post请求将客户端JS数组传递给服务器端VB.NET代码。我有一个可行的方法,但我想知道最佳实践。我是这样开始的: JS: VB: 在JS中,myArray.toString将我的数组转换为逗号分隔的字符串Apple、Banana,然后在VB中,Split将其转换回字符串数组 然后我发现ajax会自动为您序列化数组。这样我就可以不使用.toString了: $.ajax({url:"myhandler.ashx", data:{"myArray":myArray}
$.ajax({url:"myhandler.ashx", data:{"myArray":myArray}, type: "POST"});
当我这样做的时候,在VB端我发现HttpContext.Request.Form不再有一个键myArray,它现在被称为myArray[],瞧,它是一个逗号分隔的字符串:Apple,Banana
以下是我的问题:
1在VB.NET中是否有一种内置的反序列化方法,可以将逗号分隔的字符串转换回字符串数组
2.数组的Ajax序列化是否只是调用toString,如果存在反序列化函数,它是否只是像我一样调用Split
3使用内置序列化/反序列化除了作为标准之外还有什么好处吗?我能想到一个缺点。我不喜欢它通过添加方括号来重命名我的密钥。将数组转换为JSON:
$.ajax({url:"myhandler.ashx", data:{"myArray":JSON.stringify(myArray)}, type: "POST"});
使用反序列化.NET中的JSON数组
$.ajax({url:"myhandler.ashx", data:{"myArray":myArray}, type: "POST"});
$.ajax({url:"myhandler.ashx", data:{"myArray":JSON.stringify(myArray)}, type: "POST"});