如何将数组作为正文从jQuery POST方法传递到ASP.NET Web API?

时间:2018-04-06 05:39:42

标签: javascript jquery asp.net asp.net-web-api

我的Web API无法识别数组参数。 我在前端有一个数组,如@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); ButterKnife.bind(this); } @OnClick(R.id.tv_forgot_pass) void forgotPassClick(){ Context mContext = LoginActivity.this; Class nextActivity = ForgotPasswordActivity.class; Intent mIntent = new Intent(mContext, nextActivity); startActivity(mIntent); finish(); } } 。现在我想将它从JSON主体(而不是URL)传递给Web API,如下所示:

后端代码:

[1, 2, 3, 4, 5]

前端代码(jQuery):

// POST /api/result
[HttpPost]
public IHttpActionResult GetResult([FromBody]int[] ids)
{
    //do something
}

但api得到的是“[]”而不是[“1”,“2”,“3”,“4”,“5”]。

如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

只需再添加一个属性tu $.ajax函数

$.ajax({
    type: "POST",
    contentType: 'application/json; charset=utf-8',
    /*rest configuration*/
}

然后服务器端将能够理解如何解析字符串化的内容。

这个问题背后的一些理论:https://blog.codenamed.nl/2015/05/12/why-your-frombody-parameter-is-always-null/