将字符串数组作为jquery ajax中的数据传递给web api

Rik*_*iki 5 javascript asp.net ajax jquery asp.net-web-api

我试图将字符串数组传递给Web Api方法,该方法接受一个字符串数组作为参数.Bellow my Web Api方法

    [HttpGet]
    public string HireRocco(string[] hitList)
    {
        string updateList = string.Empty;
        return updateList;
    }
Run Code Online (Sandbox Code Playgroud)

我的阿贾克斯

var uri = 'http://localhost:16629/api/AssassinApi/HireRocco',
hitList = ['me', 'yourself'];

$.ajax({
    url: uri,
    type: 'GET',
    data: { hitList : hitList },
    cache: false,
    dataType: 'json',
    async: true,
    contentType: false,
    processData: false,
    success: function (data) {
    },
    error: function (data) {
    }
});
Run Code Online (Sandbox Code Playgroud)

上面的ajax成功击中了HireRocco方法,但hitListparam仍为null.我应该更改什么来传递一个字符串数组作为参数.

小智 0

删除contentType: false然后设置processData为 true,以便它可以附加您的 url 的 postData,因为这就是 get 请求的工作方式,否则您将必须更改您的 api 以接受通过标头设置的 POST 请求。

$.ajax({
    url: uri,
    type: 'GET',
    data: { hitList : hitList },
    cache: false,
    dataType: 'json',
    async: true,
    processData: true,
    success: function (data) {
        console.log(data);
    },
    error: function (data) {
    }
});
Run Code Online (Sandbox Code Playgroud)