我能够通过Active Directory中的ajax调用来获取数据。
用于对活动目录进行ajax调用的php文件:http://pastebin.com/tSRxwQL8
浏览器控制台显示ajax调用返回:
<p> sn: xxxxxx<br/>givenname: xxxxx<br/>
employeeID: 0050<br/
>distinguishedName: CN=xxxx xxxxx,OU=Employees,OU=Accounts,OU=India,DC=asia,DC=xxxxxxx,DC=com<br/>
displayName: Mark Hewettk<br/>sAMAccountName: xxxxxxx<br/>
department: xxxxx<br/>manager: CN=xxxxxx xxxxxxx,OU=Employees,OU=Accounts,OU=India,DC=asia,DC=xxxx,DC=com
<br/>
mail: mhewettk@abc.com<br/>
title: xyz<br/>
我想只使用上面的一些属性,如mail,displayname等,并在我的HTML中显示:
<h2 class="profile__name" id="emailOfUser">Email : </h2>
现在问题是我在这里使用的jquery:
$('.leaderboard li').on('click', function() {
$.ajax({
url: "../popupData/activedirectory.php", // your script above a little adjusted
type: "POST",
data: {
id: $(this).find('.parent-div').data('name')
},
success: function(data) {
console.log(data);
$('#popup').fadeIn();
$('#emailOfUser').html(data); //this line displays all data whereas I want to select only email,displayname from the above console data
//whatever you want to fetch ......
// etc ..
},
error: function() {
alert('failed, possible script does not exist');
}
});
});
问题是:
$('#emailOfUser').html(data);
此行显示所有数据,而我只想从上述控制台数据中选择电子邮件,displayname
请帮助我如何从上述浏览器控制台数据中仅选择所需的属性数据。
答案 0 :(得分:0)
您在HTML中收到回复,这使您难以提取邮件,显示名称等。 您应该在JSON中获得响应,这将使您轻松提取所需的信息。 请您的后端团队以JSON格式发送响应。
答案 1 :(得分:0)
理想情况下,您应该从PHP文件返回JSON,但是如果您无法对PHP文件进行更改,那么您可以使用split(“mail:”)和split(“title:”)来提取数据
success: function(data) {
console.log(data);
$('#popup').fadeIn();
var email=(data.split("mail:")[1]).split("title:")[0];
$('#emailOfUser').html(email); //this line displays all data whereas I want to select only email,displayname from the above console data
//whatever you want to fetch ......
// etc ..
},
答案 2 :(得分:0)
尝试:
var lines = 'sn: xxxxxx<br/>givenname: xxxxx<br/>employeeID: 0050<br/>distinguishedName: CN=xxxxxxxxx,OU=Employees,OU=Accounts,OU=India,DC=asia,DC=xxxxxxx,DC=com<br/>displayName: Mark Hewettk<br/>sAMAccountName: xxxxxxx<br/>department: xxxxx<br/>manager: CN=xxxxxx xxxxxxx,OU=Employees,OU=Accounts,OU=India,DC=asia,DC=xxxx,DC=com<br/>mail:mhewettk@abc.com<br/>title:xyz<br/>'.split('<br/>');
jQuery.each(lines, function() {
var val = this;
if (val.indexOf('mail') > -1)
// alert(val.split(':')[1]); //Only for test
$('#emailOfUser').html(val.split(':')[1]);
});