我有这段代码:
$(document).ready(function() {
var mddlrole = $('<%=ddlrole.ClientID %>');
$.ajax({
type: "POST",
url: "ReportBasic.aspx/getroledata",
data: '{}',
contentType: "application/json;",
dataType: "json",
success: function(response) {
debugger;
alert(response.d);
$(response.d.toString()).find('Table').each(function() {
var OptionValue = $(this).find('RoleID').text();
var OptionText = $(this).find('Name').text();
alert(OptionValue);
var option = $("<option>" + OptionText + "</option>");
option.attr("value", OptionValue);
mddlrole.append(option);
});
}
});
});
当我发出警报response.d
时,我会检查数据是否成功来自服务器,但当我提醒OptionValue
时,它会显示为空白。
答案 0 :(得分:1)
您正在使用xml,因此您应该从ajax调用中将contentType
更改为“text / xml”并将xml管理回调更改为此类
xmlDoc = $.parseXML( response.d.toString()),
$xml = $( xmlDoc )
$xml.find('Table').each(function() {
var OptionValue = $(this).find('RoleID').text();
var OptionText = $(this).find('Name').text();
var option = new Option(OptionText,OptionValue);
$(option).html(OptionText);
mddlrole.append(option);
});