Je suis novice en ajax. Je souhaite remplir une liste déroulante à partir d'une réponse ajax. La réponse est un json de médecins obtenu et je voudrais remplir une liste déroulante avec cette liste afin que l'administrateur puisse sélectionner un médecin particulier pour un patient.Comment remplir une liste déroulante à partir d'une réponse ajax
Voici mon code ajax:
$("button").click(function(e) {
e.preventDefault();
var id = $(this).val();
$.ajax({
type: "POST",
url: "map/"+id,
data: {
id: $(this).val(),
'_token': $('input[name=_token]').val()
},
success: function(result) {
console.log(result);
},
error: function(result) {
alert('error');
}
});
Ps: je l'ai utilisé console.log donc je pouvais voir le résultat
et ma méthode de contrôleur Laravel:
public function getDoctorSuggests(Request $request){
$id = $request->id;
// Get id from database, just skiping this step there
$patient = Patient::find($id);
if ($patient instanceof Patient){
//get patient location details
$city = $patient->city;
//get doctors
$doctors = Doctor::where('city', $city)->get(); //narrow search to city
if (!$doctors->isEmpty()){
$distance =[];
foreach($doctors as $doctor){
$location = $this->distance($patient->latitude, $patient->longitude, $doctor->latitude, $doctor->longitude, 'K');
array_push($distance, $location);
}
return response()->json(['doctors' => $doctors]);
}
return response()->json(['doctors' => NULL]);
}
}
S'il vous plaît Comment puis-je obtenir le résultat et remplir une liste déroulante html avec elle sans recharger la page?
la réponse JSON est (comme Gotten de ma console inspecteur de chrome)
Object {doctors: Array(2)}doctors: Array(2)0: Objectaddress: "29 Mambilla Street, Abuja, Nigeria"age: 2city: "Abuja"country: "Nigeria"created_at: "2017-06-14 01:01:06"currency: nulldoctor_cv: nulldoctor_mdcn: "wwjdnwe"email: "[email protected]"firstname: "Doctor"id: 1lastname: "Doctor"latitude: 9.0805515longitude: 7.5098858midname: "Midname"phone: "9"place_id: "ChIJ2fEzeToKThARPnGlvU-PKh0"sex: 2state: "FCT"updated_at: "2017-06-14 01:08:52"zip_code: null__proto__: Object1: Objectaddress: "29 Mambilla Street, Abuja, Nigeria"age: 2city: "Abuja"country: "Nigeria"created_at: "2017-06-14 01:01:06"currency: nulldoctor_cv: nulldoctor_mdcn: "wwjdnwe"email: "[email protected]"firstname: "Doctor"id: 3lastname: "Doctor"latitude: 9.0805515longitude: 7.5098858midname: "Midname"phone: "9"place_id: "ChIJ2fEzeToKThARPnGlvU-PKh0"sex: 2state: "FCT"updated_at: "2017-06-14 01:08:52"zip_code: null__proto__: Objectlength: 2__proto__: Array(0)__proto__: Object
Parcourez les éléments 'result' et' append() 'en utilisant les nouveaux éléments' option'. Si vous voulez un exemple plus concret, veuillez poster le contenu 'result'. –
Ok, je viens d'ajouter le résultat json ... @RoryMcCrossan –