我需要将一组对象从我的 Web 应用程序发送到我的 Nancy Web 服务,以便更新我的数据库。
仅发送一个对象,效果很好:在我的网络方法中,我使用 Request.Form.<data>.Value.Trim()
获取数据。但如果我尝试发送数据数组,这将不起作用。
那么如何在 Nancy Web 方法中获取并处理数据数组?
->我尝试发送的序列化对象:
"数据[0][Id]=56&数据[0][SatisM]=1&数据[0][类型]=0&数据[0][评论]=com&数据[0][月份]=3&数据[1][Id]=57&数据[1][SatisM]=2&数据[1][类型]=1&数据[1][评论]=com1&数据[1][月份]=3&数据[2][Id]=58&数据[2][SatisM]=1&数据[2 ][类型]=2&数据[2][评论]=com2&数据[2][月]=3&数据[3][Id]=59&数据[3][SatisM]=3&数据[3][类型]=3&数据[3][评论]=com3&data[3][月份]=3"
-> 相同但已编码 %22data%5B0%5D%5BId%5D=56&data%5B0%5D%5BSatisM%5D=1&data%5B0%5D%5BType%5D=0&data%5B0%5D%5BCommentaire%5D=com&data%5B0%5D%5BMonth%5D =3&数据%5B1%5D%5BId%5D=57&数据%5B1%5D%5BSatisM%5D=2&数据%5B1%5D%5BType%5D=1&数据%5B1%5D%5B注释%5D=com1&数据%5B1%5D%5B月%5D =3&数据%5B2%5D%5BId%5D=58&数据%5B2%5D%5BSatisM%5D=1&数据%5B2%5D%5BType%5D=2&数据%5B2%5D%5B评论%5D=com2&数据%5B2%5D%5B月%5D =3&数据%5B3%5D%5BId%5D=59&数据%5B3%5D%5BSatisM%5D=3&数据%5B3%5D%5BType%5D=3&数据%5B3%5D%5B评论%5D=com3&数据%5B3%5D%5B月%5D =3%22
最佳答案
根据您的问题,我认为您正在将表单中的数据作为 GET 请求发送。我遇到了类似的问题,但是我在 POST 请求中发送数据。也许它也适合你:
要发送数组,属于该数组的所有表单元素都需要相同名称:
错误
<input name="MyArray[0]" value="x" />
<input name="MyArray[1]" value="y" />
右
<input name="MyArray" value="x" />
<input name="MyArray" value="y" />
这样,Nancy 将正确解析您的数据。为了能够将其作为数组访问,您需要使用 Model Binding .
顺便说一句,我没有得到与表单一起使用的对象数组作为数据源,只有原始类型的数组。但是,当您发送使用 XHR 格式化的 JSON 数据时,对象数组就可以工作。但我不能说这对于您的情况是否可能。
关于.net - 南希 : use array of data from POST request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16282022/