Wie man der Antwort nach einem POST-request in CasperJS
Habe ich diese sehr einfache code zum Lesen der Antwort vom server-Endpunkt nach einer post-Anforderung. Ich bin eigentlich speichern von Daten in eine Datenbank und warten auf eine Antwort bevor Sie gehen Sie zum nächsten Schritt
casper.open('http://example.com/ajax.php, {
method: 'POST',
data: {
'title': '<title>',
'unique_id': '<unique_id>'
}
});
auf ajax.php Datei, die ich versuche zu echo der POST-Anforderung in einer einfachen Weise.
diese lassen Sie mich wissen, ganz einfach, wenn ich die richtige Antwort vom server.
echo json_encode($_POST);
Habe ich versucht diesen Schnipsel aber ich bin nicht in der Lage zu erhalten die Antwort.
casper.on('page.resource.received', function(resp){
this.echo(JSON.stringify(resp, null, 4));
});
casper.on('http.status.200', function(resp){
this.echo(JSON.stringify(resp, null, 4));
});
casper.on('resource.received', function(resp) {
this.echo(JSON.stringify(resp, null, 4));
});
InformationsquelleAutor Kenneth Palaganas | 2014-02-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe vor dem gleichen problem Posten Sie eine Abfrage, um ElasticSearch und ich konnte nicht die Ergebnisse abrufen.
Soweit ich kann verstehen, wenn Sie wollen, um die Daten abzurufen, hallte von Ihrem Skript die Lösung sein könnte:
oder
in Ihrer Funktion.
Zum Beispiel (in meinem Fall mit ElasticSearch):
getPageContent()
- Funktion für eine Weile jetzt.InformationsquelleAutor Roberto Cespa
Roberto Punkte aus. Sie können mit diesem.Seite.Inhalte zu zeigen, die Antwort. Aber Sie müssen hinzufügen der Funktion(response), die in Ihrem Skript. Zum Beispiel:
getPageContent()
- Funktion für eine Weile jetzt.Das ist falsch; casper ' s
open
Funktion nicht akzeptiert eine callback-argument. docs.casperjs.org/en/latest/modules/casper.html#openInformationsquelleAutor Timmy
Wenn Sie möchten, unit-test eine REST-API, CasperJS ist nicht unbedingt das richtige Werkzeug.
CasperJS erlaubt zu beobachten, ein web-browser mit einem web-Seite.
So ein typischer Ansatz wäre die Verwendung von CasperJS um eine Seite zu laden, die möchte Ihre REST-API, und Sie würden behaupten, die Seite Verhalten ist korrekt (vorausgesetzt, die Seite würde machen etwas beobachten, nach der AJAX-call-response).
Es gibt eine Menge Gründe zu wollen, um zu überprüfen, eine POST-Anforderung in CasperJS und PhantomJS andere als die überprüfung einer REST-API. Dies ist ein nutzloser Kommentar am besten.
InformationsquelleAutor ebrehault