Javascript 如何将Jquery Ajax Json响应绑定到下拉列表?
我正在尝试从一个对下拉列表的Ajax调用填充Json响应,并在下拉列表中绑定名称和用户ID。下拉列表值全部显示未定义。我做错了什么?你能帮忙吗 下拉式分区-Javascript 如何将Jquery Ajax Json响应绑定到下拉列表?,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我正在尝试从一个对下拉列表的Ajax调用填充Json响应,并在下拉列表中绑定名称和用户ID。下拉列表值全部显示未定义。我做错了什么?你能帮忙吗 下拉式分区- <div class="row form-group spacer"> <div class="col-md-12"> <div class="
<div class="row form-group spacer">
<div class="col-md-12">
<div class="col-md-12">
@Html.Label("Recipients")
<select id="commentrecipients" class="dirtyignore" name="commentrecipients"></select>
</div>
</div>
</div>
尝试添加数据类型:“json”并删除“数据:。。。大概是这样的:
$.ajax({
type: "GET",
url: "/Submission/SecurityGroupsUsersAccessRight",
dataType: "JSON",
success: function (data) {
var s = '<option value="-1">Please Select a Recipient</option>';
for (var i = 0; i < data.length; i++) {
s += '<option value="' + data[i].UserID + '">' + data[i].Name + '</option>';
}
$("#commentrecipients").html(s);
}
});
$.ajax({
键入:“获取”,
url:“/Submission/SecurityGroupsUserAccessRight”,
数据类型:“JSON”,
成功:功能(数据){
var s='请选择一个收件人';
对于(变量i=0;i
请尝试使用驼峰案例属性名称:-
s += '<option value="' + data[i].userID + '">' + data[i].name + '</option>';
s+=''+数据[i].名称+'';
$.ajax({
键入:“获取”,
url:“/Submission/SecurityGroupsUserAccessRight”,
数据:{
身份证号码:214
},
数据类型:“json”,
成功:功能(数据){
$.each(data.d,function(i,val){
var s='请选择一个收件人';
s+=''值名称+'';
}
$(“#收件人”).html;
}
});
您需要解析JSON数据以获取对象,然后循环它
ajax({
type: "GET",
url: "/Submission/SecurityGroupsUsersAccessRight",
data: {
id: 214
},
success: function (data) {
let response = JSON.parse(data);
var s = '<option value="-1">Please Select a Recipient</option>';
for (var i = 0; i < response.length; i++) {
s += '<option value="' + response[i].UserID + '">' + response[i].Name + '</option>';
}
$("#commentrecipients").html(s);
}
});
ajax({
键入:“获取”,
url:“/Submission/SecurityGroupsUserAccessRight”,
数据:{
身份证号码:214
},
成功:功能(数据){
让response=JSON.parse(数据);
var s='请选择一个收件人';
对于(变量i=0;i
@Partha,您正在通过“id:214”到服务获取匹配记录的结果。如果删除id:214,它不会破坏功能吗?@Ayaz-是的,它会。在实际代码中,我动态传递id,而不是对其进行硬编码。删除调用参数是不相关和混乱的。只需将数据类型设置为预期格式,以便转换数据用jquery而不是用JSON.parse这是一个很好的方法!我喜欢这样。我删除了代码中的显式解析,并遵循您的方法。谢谢。data=“…
您的数据是字符串,而不是JSON。问题是——没有解析响应。
s += '<option value="' + data[i].userID + '">' + data[i].name + '</option>';
$.ajax({
type: "GET",
url: "/Submission/SecurityGroupsUsersAccessRight",
data: {
id: 214
},
dataType: "json",
success: function (data) {
$.each(data.d, function (i, val) {
var s = '<option value="-1">Please Select a Recipient</option>';
s += '<option value="' + val.UserID + '">' + val.Name + '</option>';
}
$("#commentrecipients").html(s);
}
});
ajax({
type: "GET",
url: "/Submission/SecurityGroupsUsersAccessRight",
data: {
id: 214
},
success: function (data) {
let response = JSON.parse(data);
var s = '<option value="-1">Please Select a Recipient</option>';
for (var i = 0; i < response.length; i++) {
s += '<option value="' + response[i].UserID + '">' + response[i].Name + '</option>';
}
$("#commentrecipients").html(s);
}
});