私は動作しているcasperjsスクリプトを持っていますが、$.ajax呼び出しを正常に実行できるのは約50%の確率です。
動作しているときに新しいデータが API ログに表示され、データベースで更新されたフィールドが表示されるので、動作していることがわかります。失敗した試行では、API でアクティビティが表示されないため、ajax 呼び出しを開始していないようです。この ajax 呼び出しが時々しか機能しない原因は何ですか? casper ログ行は、db フィールドを更新しても常に null を返します。これがコードスニペットです。クロスドメインなのでGETを使用しています。
casper.then(function() {
// Needs local copy of jquery right?
this.page.injectJs('C:/jquery.min.js');
response = this.evaluate(function() {
var params = { "stuffIWantToSave" : "1000" };
var foo = $.ajax({
type: "GET",
data: params,
url: 'http://api.mysite.com/update',
success: function (data) {
return data;
},
error: function (xhr,status,error){
return error;
}
}); // end $.ajax call
}); // end this.evaluate
casper.log('Ajax response:', 'info');
casper.log(JSON.stringify(foo), 'info');
this.die('End');
});// end casper.then(function()
私は casperjs を初めて使用するので、コード内の他のエラーを指摘していただければ幸いです。ありがとう。