2010-06-08 6 views
2

J'essaye de faire un appel d'ajax à un manuscrit de php. Le script php appelle un flux rss en utilisant curl, récupère les données et renvoie les données à la fonction.ajax à php pour boucler et retour

Je continue à obtenir une erreur

"Attention: nombre de paramètres incorrect pour curl_error() dans" ....

Voici mon code php: 1

$ch = curl_init() or die(curl_error()); 
     curl_setopt($ch, CURLOPT_URL, $feed); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     $data1 = curl_exec($ch) or die(curl_error()); 
     echo $data1; 

et l'appel ajax:

$.ajax({ 
         url: "getSingleFeed.php", 
         type: "POST", 
         data: "feedURL=" + window.feedURL, 
         success: function(feed){ 

        alert(feed); 

        }}); 

J'ai testé tous les vari Ables, ils sont passés correctement, je peux les faire écho. Mais cette ligne: $ data1 = curl_exec ($ ch) ou die (curl_error());

est ce qui me donne l'erreur. Je fais la même chose avec curl sur d'autres pages, juste sans ajax, et ça marche bien. Y at-il quelque chose de spécial que je dois faire avec ajax pour le faire?

Répondre

7

The PHP manual indique que le premier paramètre de curl_error est un handle renvoyé par curl_init() ;. Essayez de remplacer ce que vous avez collé avec ce qui est indiqué ci-dessous. Cela ajoute la variable $ ch en tant que paramètre à toutes les instances de curl_error() ;.

$ch = curl_init() or die(curl_error($ch)); 
     curl_setopt($ch, CURLOPT_URL, $feed); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
     $data1 = curl_exec($ch) or die(curl_error($ch)); 
     echo $data1; 
+0

Bien sûr, cela donnera probablement une erreur d'exécution si curl_init échoue car $ ch aura la valeur False qui n'est pas le bon type. – Craig

+0

même chose. Comme je l'ai dit, le script Curl fonctionne bien en php. C'est une fois que je l'appelle d'ajax que ça ne marche pas. – pfunc

+0

Faites-le 'remplacer le curl_error() dans la 4ème ligne avec curl_error ($ ch) et nous avons une réponse ... – Wrikken