我有一个可用的 casperjs 脚本,但它仅在大约 50% 的时间内成功执行 $.ajax 调用。
我知道它正在工作,因为当它工作时,我可以看到新数据显示在我的 api 日志中,并且我可以看到数据库中更新的字段。在失败的尝试中,我的 api 上没有任何活动,所以它似乎甚至没有触发 ajax 调用。什么会导致这个 ajax 调用只在某些时候起作用?casper 日志行总是返回 null,即使它确实更新了我的 db 字段。这是代码片段。我使用 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 的新手,所以我很感激指出我的代码中的任何其他错误。谢谢。