2017-10-15 3 views
2

je veux demander JSON API et obtenir une réponse et je l'ai essayé avec postier et j'ai reçu une réponse:envoyer JSON en tant que données en ajax et obtenir une réponse

demande JSON API:

{ 
"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp" 
} 

réponse que je suis arrivé dans postier et il est ok

{ 
"status": 200, 
"result": { 
    "winner": "s", 
    "options": { 
     "1": "mar", 
     "2": "feb", 
     "3": "jan", 
     "4": "aug" 
    }, 
    "question": "how old are u?", 
    "answer": 3 
} 

}

mon problème est que je veux envoyer ajax reque st et obtenir response.i essayer ce code, mais il ne reçoit aucune réponse?

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"}; 
$.ajax({ 
type:'post', 
dataType:'json', 
url:'http://207.154.251.233:8039/app_dev.php/question/get', 
data:JSON.stringify(data), 
success:(function (response) { 
alert(response); 
}) 
}) 
+0

Ajouter un gestionnaire d'erreur pour savoir pourquoi – charlietfl

+0

@charlietfl pourriez-vous me dire comment? – sepehr

+0

essayez de supprimer les guillemets de vos données autour de 'apikey' de sorte que' {apikey: "&^$% # @! Jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"}; ' –

Répondre

0

Utilisez ce code modifié:

var data = {"apikey":"&^$%#@!jwebdpqodp9fgkwjebfkdpqihdqlwkndqp"}; 
$.ajax({ 
    type:'post', 
    dataType:'json', 
    url:'http://207.154.251.233:8039/app_dev.php/question/get', 
    contentType: 'application/x-www-form-urlencoded; charset=UTF-8', 
    crossDomain: true, 
    data:JSON.stringify(data), 
    success:(function (response) { 
     alert(response); 
    }) 
}); 

En outre, si votre script est exécuté à partir hôte différent vous devez utiliser l'autorisation d'accès origine croisée. Pour cela, utilisez

Access-Control-Allow-Origin: http://foo.example 

Si votre application construit en php puis utilisez:

header("Access-Control-Allow-Origin: *"); 
// or your script's host, e.g http://foo.example instead of "*" 
0

La réponse que vous obtenez est l'objet de type, et sera affiché comme [objet] [objet]. Vous aurez besoin de JSON.stringify si vous voulez faire un alert là-dessus. Je suggère d'utiliser console.log à la place, c'est mieux pour le débogage.