我在視圖中有一個復選框,我希望它在選中時從控制器回傳資料,它顯示在視圖中并顯示在輸入框中?
<input class="js-recipient-is-me" type="checkbox"/>
Javascript :
$('.js-recipient-is-me').change(function () {
if (this.checked) {
$('.js-input-field').addClass('disabled');
$.ajax({
url: '/Cart/GetUserInfo',
});
} else {
$('.js-input-field').removeClass('disabled');
}
});
Html 輸入:
<input type="text" id="mobile" class="js-input-field" name="name" />
<input type="text" id="name" class="js-input-field" name="name" />
<input type="text" id="family" class="js-input-field" name="name" />
控制器 :
public async Task<JsonResult> GetUserInfo()
{
CurrentUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);
var userinfo = await _scope.GetUserInfo(Guid.Parse(CurrentUserId));
return Json(0);
}
userinfo 是一個字串陣列,具有三個值: ["Mobile", "name", "family"]
我想把userinfo值放入輸入...
它是如何完成的?
uj5u.com熱心網友回復:
您需要添加一個回呼來處理從服務器接收到的資料。您可以通過done()在ajax請求之后使用來做到這一點。
$.ajax({
type: "GET",
url: '/Cart/GetUserInfo'
})
.done( function(data) {
$('#mobile').val(data[0]);
$('#name').val(data[1]);
$('#family').val(data[2]);
});
您還需要將資料從控制器傳遞到視圖。目前,看起來你總是回來0。userinfo像這樣回傳物件:return Json(userinfo);
public async Task<JsonResult> GetUserInfo()
{
CurrentUserId = User.FindFirstValue(ClaimTypes.NameIdentifier);
var userinfo = await _scope.GetUserInfo(Guid.Parse(CurrentUserId));
return Json(userinfo);
}
您還應該提供適當name的輸入- 它們都共享名稱,這會導致常規表單提交出現問題,例如:<input type="text" id="mobile" name="mobile" />
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/394863.html
標籤:javascript json 阿贾克斯 asp.net核心
