我的C#控制器中的参数从AJAX调用中读取为null

时间:2019-07-17 15:56:24

标签: c# jquery ajax

我正在尝试通过复选框从“用户”那里获取输入并将其存储在SQL DB中的表中,我已经正确创建了所有链接,并且我的post AJAX调用运行良好,因为我能够在我的数据库中接收信息D B。问题是在控制器中接收到的参数正在接收一个空值,该参数在表中存储了一个空值,我知道我的复选框提取了正确的信息,因为我是事先打印了该信息,但是我感觉我的AJAX设置可能不是正确地进行字符串化。

$("#submitButton").click(function() {
  var results = {};
  $questions = $('#optionData');

  for (i = 1; i < 6; i++) {
    if ($questions.find('#option' + i).prop('checked')) {
      results['option' + i] = $questions.find('#option' + i).val();
    }
    newResult = JSON.stringify(results)
  };

  console.log(newResult);

  $.ajax({
    url: "/Home/SaveData",
    type: "POST",
    dataType: 'json',
    contentType: "application/json; charset=utf-8",
    data: (newResult),
    success: function(data) {
      if (data == null) {
        alert("Something went wrong");
      }
    },
    failure: function(data) {
      alert(data.dataText);
    },
    error: function(data) {
      alert(data.dataText);
    }
  });
});
[HttpPost]
public ActionResult SaveData(string Options)
{
  dataInsertion dataInsertion = new dataInsertion
  {
    // questionID = object.QuestionId,
    options = Options, 
    // },
    // companyID = object.companyID
  };

  try
  {
    if (ModelState.IsValid)
    {
      DB.dataInsertions.Add(dataInsertion);
      DB.SaveChanges();
      // RedirectToAction("Home");
    }
  }
  catch (Exception e)
  {
    Console.WriteLine("error" + e);
  }
  return Json(new { sucess = "true" });
}

0 个答案:

没有答案
相关问题