я был в состоянии получить данные с помощью AJAX вызова из активной директории файл .The PHP используется для извлечения данных из активного каталога ниже:Как вытащить выбранные данные атрибута из ajax названных данных?
<?php
$username = 'maxxxxxxx';
$password = 'xxxxxxxxx';
$server = 'ldap://xxxxxxx';
$domain = '@asia.xxxxxx.com';
$port = 389;
$ldap_connection = ldap_connect($server, $port);
if (! $ldap_connection)
{
echo '<p>LDAP SERVER CONNECTION FAILED</p>';
exit;
}
// Help talking to AD
ldap_set_option($ldap_connection, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap_connection, LDAP_OPT_REFERRALS, 0);
$ldap_bind = @ldap_bind($ldap_connection, $username.$domain, $password);
if (! $ldap_bind)
{
echo '<p>LDAP BINDING FAILED</p>';
exit;
}
else
{
\t echo 'login successful';
}
$base_dn = "OU=Employees,OU=Accounts,OU=India,DC=asia,DC=xxxxx,DC=com";
$dispname="Mark Hwett";
$filter ="(&(objectClass=user)(displayName=$dispname))";
$attr = array("sn","givenname","employeeid","distinguishedname","displayname","samaccountName","department","manager","mail","title","thumbnailphoto");
$result = ldap_search($ldap_connection,$base_dn,$filter,$attr);
$rescount = ldap_count_entries($ldap_connection,$result);
$data = ldap_get_entries($ldap_connection,$result);
if ($data["count"] > 0)
{
for ($i=0; $i<$data["count"]; $i++)
{
echo "<p> sn: " . $data[$i]["sn"][0]."<br/>";
echo "givenname: ". $data[$i]["givenname"][0] ."<br/>" ;
echo "employeeID: " . $data[$i]["employeeid"][0]."<br/>";
echo "distinguishedName: " . $data[$i]["distinguishedname"][0]."<br/>";
echo "displayName: " . $data[$i]["displayname"][0]."<br/>";
echo "sAMAccountName: " . $data[$i]["samaccountname"][0]."<br/>";
echo "department: ". $data[$i]["department"][0]."<br/>";
echo "manager: " .$data[$i]["manager"][0]."<br/>";
echo "mail: ". $data[$i]["mail"][0]."<br/>";
echo "title: " .$data[$i]["title"][0]."<br/>";
//echo "photo: " .$data[$i]["thumbnailphoto"][0]."<br/>";
// echo "<br/><br/>";
}
}
else
{
echo "<p>No results found!</p>";
}
?>
Консоль браузера показывает, что выше PHP возвращает это:
<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: [email protected]<br/>
title: xyz<br/>
Я хочу взять только некоторые атрибуты из приведенных выше данных, таких как почта, 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 из приведенных выше данных консольных
любезно помочь мне как выбрать только нужные данные атрибута из приведенных выше данных консоли браузера.
Я пытался конвертировать его в JSON после этого. Но не повезло. How to return an array from an AJAX call?
спасибо за ответ. Но я получаю ошибки «говорящий возможный сценарий не существует». I ahve mag ethe следующие изменения в .php-файле выше http://pastebin.com/fBDJqKFQ И следующие изменения в jquery http://pastebin.com/JTHeAjsi – JAne
Где вы думаете, это ошибка? – JAne
Вы можете разместить ссылку на вывод console.log? – subarachnid