我正在使用 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
}
和我的視圖模型:
public class CreateOrderViewModel
{
public string SerialNo { get; set; }
...
}
uj5u.com熱心網友回復:
您可能需要添加 [FromBody] 來接收發送的值,如下所示:
模型:
public class Test {
public string SerialNo { get; set; }
}
控制器:
[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>
結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/343451.html
