将JavaScript值传递给ASP.NET核心控制器



我创建了一个JavaScript计算器,它将用户键入的总和和答案保存为数组。

我想将该数组发送到我的ASP.NET核心控制器,以便将其保存在数据库中。

我遇到了很多来自ASP.NET框架、隐藏字段、JQueryAJAX、WebAPI等的串扰。

我读到的很多内容都是如何从服务器获取数据,而不是从服务器获取。

欢迎提出任何建议。

从JavaScript接口向ASP.NET Core控制器发送数据的标准方式是什么?

我已经使用一个表单和asp很容易地完成了这项工作;variableName";标签。

<form asp-action="Index" asp-controller="Answers">
<fieldset>
<select asp-for="var1">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</fieldset>
<fieldset>
<select asp-for="sumOperator">
<option value="+">PLUS</option>
<option value="-">MINUS</option>
<option value="/">DIVIDE</option>
<option value="*">TIMES</option>
</select>
</fieldset>
<fieldset>
<select asp-for="var2">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</fieldset>
<input type="submit" value="Calculate" />
</form>
<p> @ViewBag.var1 @ViewBag.sumOperator @ViewBag.var2 = @ViewBag.answer</p>

但当然,我宁愿有一个华而不实的JavaScript计算器,也不愿有一个下拉式计算器。

我假设您希望异步执行此操作:

$.ajax(
{
type: "POST",
async: true,
url: '[CONTROLLER_PATH]',
data: "[PARAM]=" + $.toJSON([YOUR_ARRAY]),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
console.log("SUCCESS:" + msg);
},
error: function (msg) {
console.log("error:" + msg);
}
});

此javascript将数据异步发布到服务器。

您需要根据自己的需要调整以下内容:

  • [控制器_路径]
  • dataparam-这是控制器的名称,用于数组参数
  • success-成功发布数据后,您希望发生什么(如果有的话(
  • failure-这件事由你来解决:(

最新更新