[英]Get JSON results in ASP.NET CORE 2.0
控制器的方法:
[HttpGet]
public ActionResult GetItem()
{
List<SelectListItem> drop = new List<SelectListItem>
{
new SelectListItem{Value="Superman",Text="Superman"},
new SelectListItem{Value="Batman",Text="Batman"},
new SelectListItem{Value="Wonderwoman",Text="Wonderwoman"}
};
return Json(drop);
}
HTML的選擇:
<select id="ddlCustomers"></select>
AJAX的電話:
var ddlCustomers = $("#ddlCustomers");
ddlCustomers.empty().append('<option selected="selected" value="0" disabled = "disabled">loading.........</option>');
$.ajax({
type: "GET",
url: "/Usuario/GetItem",
dataType: 'JSON',
contentType: "application/json",
success: function (data) {
alert(data);
for (var i = 0; i < data.length; i++) {
$('#ddlCustomers').append('<option value=' + data[i].Value + '>' + data[i].Text + '</option > ');
}
}
});
它擊中了控制器,但是將選擇返回/填充為UNDEFINED。
有幫助嗎? 謝謝!
請注意:這是WEB APP,不是WEB API。
根據收到的響應,您應該更改此設置:
'<option value=' + data[i].Value + '>' + data[i].Text + '</option > '
有了這個:
'<option value=' + data[i].value + '>' + data[i].text + '</option > '
順便說一下,您不必在for循環的每個步驟中選擇ID為ddlCustomer
HTML元素。 您可以使用ddlCustomers
變量,該變量持有對要附加選項的元素的引用
for (var i = 0; i < data.length; i++) {
ddlCustomers.append('<option value=' + data[i].value + '>' + data[i].text + '</option > ');
}
JS區分大小寫,請嘗試
$('#ddlCustomers').append('<option value=' + data[i].value + '>' + data[i].text + '</option > ');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.