gpt4 book ai didi

asp.net-core - 使用 Razor 页面的 Ajax 发布

转载 作者:行者123 更新时间:2023-12-05 04:42:51 26 4
gpt4 key购买 nike

我正在使用 Asp.net Core Razor Pages,并希望在单击按钮时将一些数据发布到服务器,但我无法在调用方法中获取客户端值,它始终为空:

<button type="button" class="btn btn-primary" onclick="save1()">Submit</button>

我的js代码:

function save1() {
var order = { SerialNo: '1'};

$.ajax({
type: "POST",
url: "@Url.Page("Index","Save1")",
headers: { "RequestVerificationToken": $('input[name="__RequestVerificationToken"]').val() },
data: JSON.stringify(order),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert('Success!');
},
failure: function (response) {
alert('error!');
}
});

}

我的页面处理程序:

 public async Task<IActionResult> OnPostSave1Async(CreateOrderViewModel order)
{
//some code
}

和我的 View 模型:

public class CreateOrderViewModel
{

public string SerialNo { get; set; }
...
}

最佳答案

您可能需要添加 [FromBody] 来接收发送的值,如下所示:

型号:

       public class Test {
public string SerialNo { get; set; }
}

Controller :

 [HttpPost]
public IActionResult Index([FromBody]Test order)
{

return View();
}

public IActionResult Index()
{
return View();
}

查看:

<button type="button" class="btn btn-primary" onclick="save1()">Submit</button>
<script>
function save1() {
var order = { SerialNo: '1' };

$.ajax({
type: "POST",
url: "test/Index",
data: JSON.stringify(order),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
alert('Success!');
},
failure: function (response) {
alert('error!');
}
});

}
</script>

结果:

enter image description here

关于asp.net-core - 使用 Razor 页面的 Ajax 发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69758377/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com