何らかの理由で、整数配列値がMVCコントローラに正しくポストされていません。私はこのトピックに関する多くの記事を見てきましたが、今まで私はこの問題を解決することができませんでした。Jquery POSTが整数配列をMVCコントローラパラメータに書き込んでいません
私の呼び出し側は、次のようになります
$scope.openRollUpReport = function (inItem) {
var IssueIDs = [];
IssueIDs.push(1);
IssueIDs.push(4);
var request = $.ajax({
traditional: true,
url: url,
type: "POST",
data: JSON.stringify(IssueIDs),
datatype: 'json'
});
};
私のコントローラメソッドは次のようになります。
[System.Web.Http.Route("Api/Report/RollUpReport/")]
[System.Web.Mvc.HttpPost]
public void RollUpReport(int[] IssueIDs)
{
}
私は成功したコントローラメソッドを呼んでいます。しかし、IssueIDsは次のようになります。{int [0]}
また、IEデベロッパーツールでは、Request Bodyが次のようになります。 [1,4]。私はそれが私が行方不明の基本的なものだと確信しています。どんな助けもありがとうございます。
おかげで、
ピート
おかげケビンは、私はこの試みた:
var IssueIDs = [];
IssueIDs.push(1);
IssueIDs.push(4);
var jsonData = { IssueIDs: IssueIDs };
var request = $.ajax({
traditional: true,
url: url,
type: "POST",
data: JSON.stringify(jsonData),
datatype: 'json'
});
を私はまだサーバーメソッドでこれを取得しています:{int型[0]}
これを単にカンマで区切った文字列をPOSTし、サーバー側を解析するだけに変更しました。
$scope.openRollUpReport = function (inItem) {
var IssueIDs = '1,5,9,12';
var request = $.ajax({
traditional: true,
url: url,
type: "POST",
data: '=' + IssueIDs
});
};
サーバー側::これは私がなってしまったものです
[System.Web.Http.HttpPost]
public HttpResponseMessage RollUpReport([FromBody] string IssueIDs)
{
HttpResponseMessage result;
result = new HttpResponseMessage(HttpStatusCode.OK);
return result;
}
おかげケビン、あなたが示唆したように私が試したが、私はまだ同じ結果を取得しています。 – Pete