サーバー側の文字列から配列を取得しようとしていますが、待機中のIDがNULLになっています。上記のソースコードに関するアドバイスをお願いします。私はCompareReturnAllResults(.....)の範囲でそれらを扱う方法がわかりません。AJAX呼び出しで配列を送信する
function compareFilesResult(whlIDs) {
var result = 0;
$.ajax({
url: '/ajax/CompareReturnAllResults',
contentType: "application/json; charset=utf-8",
type: 'GET',
dataType: "json",
data: { ID: whlIDs },
success: function (data) {
if (data != null) {
return result;
}
},
error: function (data) {
return result;
},
fail: function (data) {
return result;
}
});
}
[HttpGet]
public ActionResult CompareReturnAllResults(string [] _IDs)
{
List<Common.Utilities.CompareFilesResult> result = new List<Common.Utilities.CompareFilesResult>();
foreach (var id in _IDs)
{
var whl = WHLConfig.Caches.WHLsCache.Where(w => w.ID == id).First();
var diffResponse = WhlObjects.WHLMethods.CompareConfigs(whl);
Common.Utilities.CompareFilesResult temp = new Common.Utilities.CompareFilesResult(whl.ID, diffResponse.CountDeleted, diffResponse.CountInserted);
result.Add(temp);
}
string diff = string.Empty;
if (result != null && result.Count != 0)
{
return Json(result, JsonRequestBehavior.AllowGet);
}
else
{
return Json(string.Empty, JsonRequestBehavior.AllowGet);
}
}
あなたは 'string [] _IDs'を宣言していますので、ajaxコールで同じものを使用してください。 'data:{_IDs:whlIDs}、 ' –