Log*_*n W 5 asp.net ajax jquery asp.net-mvc-4 asp.net-web-api
我试图通过jquery的$ .ajax调用.net Web Api方法.我进去的时候
var process ="first process",var nameArray = ["first","second"],var valueArray = ["val1","val2"]
然后:
$.ajax({
url: jsonFeed,
data: {process: process, nameArray: nameArray, valueArray: valueArray},
etc...
Run Code Online (Sandbox Code Playgroud)
我有一个ASP.NET Web Api方法:
public string GetResponseToken(string process, string[] nameArray, string[] valueArray)
Run Code Online (Sandbox Code Playgroud)
当我运行一切时,我收到一条错误消息:
"无法将多个参数('nameArray'和'valueArray')绑定到请求的内容."
有谁知道这是为什么,或者我如何修复它来接受我的阵列?
nem*_*esv 11
Web.API参数/模型绑定器的工作方式与MVC不同.你需要告诉它你不要将查询字符串中的所有参数与[FromUri]
属性绑定:
public string GetResponseToken(
[FromUri]string process,
[FromUri]string[] nameArray,
[FromUri]string[] valueArray)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
从长远来看(例如,如果您的请求类型是POST,上述方法将不起作用)您应该考虑使用参数对象而不是多个参数.
public string GetResponseToken([FromUri]ResponseTokenRequest request)
{
//...
}
public class ResponseTokenRequest
{
public string Process { get; set; }
public string[] NameArray { get; set; }
public string[] ValueArray { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您可以在以下文章中了解Wep.API参数绑定:
归档时间: |
|
查看次数: |
4656 次 |
最近记录: |