GOOGLE ADS

lundi 2 mai 2022

Manière correcte d'afficher les données de l'API dans laravel

J'appelle une API à partir d'une source externe et je souhaite effectuer l'enregistrement en fonction de l'API donnée. J'ai quelques problèmes:

Je voudrais obtenir les données et les transmettre à mon enregistrement de vue, mais je reçois un index non défini: pays. Je sais où je me suis trompé mais je n'ai pas trouvé la solution. dans cette méthode, je devrais déclarer mes $countries, n'est-ce pas ?

public function showRegistrationForm()
{
return view('auth.register');

}

mais j'ai déclaré à ma méthode register(Request $request)

public function register(Request $request)
{
$country=$request->input('country');
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'test',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"country": "'.$country.'"
}',
CURLOPT_HTTPHEADER => array(
'accept: application/json',
'Content-Type: application/json',
'Cookie: device_view=full'
),
));
if($password!= $password_confirmation){
$msg = "passwords doesn't match";
}else {
$msg = "passwords match";
}
$response = curl_exec($curl);
curl_close($curl);
$registerArr= json_decode($response);
if(!EMPTY($registerArr->message)){ // Bad credentials
return $this->showRegistrationForm();
}else{
return redirect()->route('overview');
}

}

et voici ma vue de lame. Je voudrais obtenir les pays en utilisant le menu déroulant

 <div class="col-xs-6 col-sm-6">
<div class="form-group">
<select class="form-control" id="country" name="country" required>
<option selected="true" disabled="disabled">Country</option>
@foreach($countries as $country)
<option value="{{$country->country_code}}">
{{$country->country_name}}</option>
@endforeach
</select>
</div>
</div>

et comment connaître le nom de la valeur et le nom du texte ? Parce que l'API n'affiche que le formulaire d'inscription sans la valeur. Est-ce que quelqu'un peut m'aider? Merci


Solution du problème

Vos postfields doivent être un tableau:

 CURLOPT_POSTFIELDS => [
"country" => $country,
],

Aucun commentaire:

Enregistrer un commentaire

Comment utiliseriez-vous .reduce() sur des arguments au lieu d'un tableau ou d'un objet spécifique&nbsp;?

Je veux définir une fonction.flatten qui aplatit plusieurs éléments en un seul tableau. Je sais que ce qui suit n'est pas possible, mais...