Salut à tous !
Je suis en train de développez une API pour un de mes projet.
Donc je passe par le Cross Domain avec ajax et JSONP.
Tout est ok sauf que le retour de mon script php distant me renvoi bien un json, mais j'ai un
Uncaught SyntaxError: Unexpected token :
Je vois de quoi viens l'erreur, par exemple si mon script renvoi :
{"user": "demenvil} bah du coup dans ma fonction success :
La valeur de data vaut donc => {"user": "demenvil} d'ou l'erreur non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 done(function(data) { }
Ma question est donc comment éviter cette erreur ?? Est-ce cela ce fait côté php (distant) ou côté local avec le js ?
Mes codes au cas ou :
Le js :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 $(document).ready(function(){ $('.go').click(function(){ $.ajax({ type: "GET", dataType: 'json', url: 'http://www.ndd.fr/?page=main-api&valeur=test&callback=?', crossDomain : true, xhrFields: { withCredentials: true } }) .done(function(data) { console.log(data); }) .fail( function(xhr, textStatus, errorThrown) { alert(xhr.responseText); alert(textStatus); }); }); });
Le php :
J'ai bien mis églamenent le : header("Access-Control-Allow-Origin: *");
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public function Api() { header("content-type:application/json"); if (isset($_GET['url'])) { $reponse = array(); $reponse['statut'] = 'ok'; $reponse['infos'] = 'ceci est une infos'; $reponse['bidule'] = 'un bidule'; $reponse['truc'] = '123456789'; echo trim(json_encode($reponse)); } }
Si vous avez une idée ?
Merci bien.
Partager