Effectuer la demande curl en javascript?
Est-il possible d'envoyer une demande curl en jQuery ou javascript?
Quelque chose comme ceci:
curl \
-H 'Authorization: Bearer 6Q************' \
'https://api.wit.ai/message?v=20140826&q='
Donc, en PHP sur la soumission d'un formulaire, comme ceci:
$header = array('Authorization: Bearer 6Q************');
$ch = curl_init("https://api.wit.ai/message?q=".urlEncode($_GET['input']));
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($ch);
curl_close($ch);
Ce que j'essaie de faire est d'effectuer cette demande curl, qui renvoie du json et puis j'ai l'intention de l'analyser avec jQuery $.get()
fonction.
- en js vous utiliser XMLHttpRequest au lieu de curl
- Si je pouvais utiliser du jQuery
$.get
puis, je crois. Mais comment puis-je passer l'en-tête et comme un tableau? - Vous pouvez prendre un coup d'oeil ici: stackoverflow.com/questions/11312908/...
- avec XMLHttpRequest vous pouvez passer en-têtes avec setRequestHeader, mais je ne sais pas à propos de w jQ de dollars.obtenez de l'
- Je suis un XMLHttpRequest ne peut pas charger api.wit.ai/message?v=20140826&q=. Pas de "Access-Control-Allow-Origin' en-tête est présent sur la ressource demandée. Comment puis-je passer cet en-tête?
- Quiconque obtenir ici essayer de faire une demande curl en node.js au niveau du serveur et non dans le navigateur?? Voici une référence.
Vous devez vous connecter pour publier un commentaire.
curl est un de commande sous linux (et un bibliothèque en php). Curl fait généralement d'une requête HTTP.
Vraiment ce que vous voulez faire est de prendre un HTTP (ou XHR) demande à partir de javascript.
À l'aide de ce vocabulaire, vous trouverez un tas d'exemples, pour commencer:
L'envoi de l'autorisation des en-têtes avec jquery et ajax
Essentiellement, vous voulez appeler
$.ajax
avec un peu d'options pour l'en-tête, etc.XMLHttpRequest cannot load https://api.wit.ai/message?v=20140826&q=. No 'Access-Control-Allow-Origin' header is present on the requested resource.
Comment puis-je passer cet en-tête?Oui, l'utilisation getJSONP. C'est la seule façon de faire de la croix de domaine/serveur d'appels asynchrones. (*Ou il sera dans un avenir proche).
Quelque chose comme
Le paramètre de rappel seront remplis automatiquement par le navigateur, donc ne vous inquiétez pas.
Sur le côté serveur ('validate.php'), vous devriez avoir quelque chose comme ceci
Vous pouvez utiliser le Javascript Chercher de l'API (disponible dans votre navigateur) pour effectuer des requêtes réseau.
Si l'aide d'un noeud, vous aurez besoin d'installer le nœud-extraction paquet.