我试图从服务器端的字符串中获取数组,但我正在等待的 ID 为 NULL。请就上面提供的源代码提出建议。我不确定如何在 CompareReturnAllResults(.....) 的范围内处理它们。
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);
}
}
请您参考如下方法:
我认为我需要将 traditional 设置为 true。
脚本:-
jQuery.ajaxSettings.traditional = true
第一个:-
$.ajax({
url: 'controller/GetArray',
data: JSON.stringify({
employee: arrEmployee
}),
success: function(data) { /* Whatever */ }
});
****Second One:-****
$.ajax({
type: "POST",
url: "controller/GetArray",
data: {employee: arrEmployee},
success: function (data) { /* Whatever */ }
});
型号:-
public class Employee
{
public int Id;
public string Name;
}
在 Controller 中:-
public ActionResult GetArray(Employee[] employee)
{
// code here what u do
}
希望它的工作!!
