在 jquery 中将数组作为查询字符串传递

Raj*_*air 1 c# asp.net jquery query-string

我在名称的 jquery 中创建了一个字符串数组array[]并将值推送给它。

如何在查询字符串中发送这个数组?

例如 window.location.href('ViewData?array');

以及如何从 jquery 本身的查询字符串中取回数组数据?请指教?

nge*_*go6 5

这很容易用 jQuery 实现,因为它有一个名为 param() 的辅助函数。

var myData = {
   name: "John Doe",
   age: 23,
   children: [{
      name: "Jane Doe",
      age: 13,
      children: []
      },
      {
      name: "John Doe Jr.",
      age: 16,
      children: []
      }
   ],
}
var p = $.param(myData)
Run Code Online (Sandbox Code Playgroud)

结果:

"name=John+Doe&age=23&children%5B0%5D%5Bname%5D=Jane+Doe&children%5B0%5D%5Bage%5D=13&children%5B1%5D%5Bname%5D=John+Doe+Jr.&children%5B1%5D%5Bage%5D=16"

你可以像这样使用它:

window.location = "/MyController/MyAction?" + p;
Run Code Online (Sandbox Code Playgroud)

关于从查询字符串中获取参数,请参考以下问题:如何在 JavaScript 中获取查询字符串值?


您可以做的另一件事是使用 ajax 调用,这样您就不必自己序列化数据,因为它会自动为您完成。

$.ajax({
  url: "/MyController/MyAction",
  data: myData,
  dataType: "json",
  type: "POST",
  success: function(data){
    //'data' is your response data from the Action in form of a javascript object
  }
})
Run Code Online (Sandbox Code Playgroud)