jQuery AJAX postリクエストを使用して、クライアント側のJS配列をサーバー側のVB.NETコードに渡します。私にはうまくいく方法がありますが、ベストプラクティスについて疑問に思っています。私はこのように始めました:
JS:
var myArray=["Apple","Banana"];
$.ajax({url:"myhandler.ashx",
data:{"myArray":myArray.toString()}, type: "POST"});
VB:
Dim myArray as String()
= HttpContext.Request.Form("myArray").Split(New [Char]() {","c})
JSでは、myArray.toString()が配列をコンマ区切りの文字列 "Apple、Banana"に変換し、VBではSplitが配列を文字列の配列に変換し直します。
次に、ajaxが自動的に配列をシリアル化することを知りました。したがって、.toString()をオフのままにしておくことができます。
$.ajax({url:"myhandler.ashx", data:{"myArray":myArray}, type: "POST"});
それを行ったとき、VB側では、HttpContext.Request.Formにキー「myArray」がないことがわかりました。これは「myArray []」と呼ばれ、見よ、これはコンマ区切りの文字列です。「Apple、バナナ"。
これが私の質問です:
1)コンマ区切りの文字列を文字列の配列に変換するVB.NETで逆シリアル化する組み込みの方法はありますか?
2)配列のAjaxシリアル化はtoString()を呼び出すだけですか?逆シリアル化関数が存在する場合は、私と同じようにSplit()を呼び出すだけですか?
3)標準であるだけでなく、組み込みのシリアル化/逆シリアル化を使用する利点はありますか?不利な点が考えられます。角かっこを追加してキーの名前を変更するのは好きではありません。