2017-08-03 1 views
0

Je suis la mise en œuvre d'un script de déchirage avec CASPERJS qui utilise également des appels jquery AJAX comme celui ci-dessous qui devrait POST à ​​Trello:demande AJAX PUT ne fonctionne pas dans les CasperJS

var settings = { 
    "async": true, 
    "crossDomain": true, 
    "url": "https://api.trello.com/1/cards/mycardid?name=Thursday%20-%20%C2%A300000&key=mykey&token=mytoken", 
    "method": "PUT", 
    "headers": { 
    "cache-control": "no-cache", 
    } 
} 

$.ajax(settings).done(function(response) { 
    console.log(response); 
}); 

J'ai une fonction similaire emballé en casper.evaluate(function(){}) qui effectue une requête get et fonctionne comme prévu. J'ai essayé PUT-ing via Postman et tout a bien fonctionné, mais je ne peux pas obtenir l'appel à travailler avec casperJS, enveloppé dans une fonction d'évaluation, qui est censé exécuter javascript. Y at-il quelque chose que j'ai raté, comme: Casper ne peut pas exécuter les demandes de mise à API?

+0

Ce qui est connecté de 'console.log (réponse)'? – Gavin

+0

Rien, comme casper n'enregistre rien dans un évaluer, alors c'est ma frustration, que je ne peux pas voir cette sortie –

+0

ajouter un gestionnaire 'fail' et inspecter l'objet jqXhr – charlietfl

Répondre

0

La bonne réponse est ici:

return $.ajax({ 
    type: "PUT", 
    async: false, 
    url: "urlasabove", 
    body: {} 
}); 

La bonne réponse est de mettre key: "value" plutôt que string: string

+0

Eh bien, cela fonctionne, mais maintenant je ne sais pas pourquoi l'appel fonctionne pour seulement 5 demandes, une fois que j'ai 6 éléments dans le tableau, le phantomJS souffle avec un "ne peut pas traiter commander" –