CasperJS にバグがあります。onclick で AJAX リクエストがあるリンクをクリックしようとしています。AJAX リクエストは行われません。
ここに私のindex.phpページがあります:
<html>
<head>
<title>AJAX test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js>
</script>
<script>
function test(id){
$.ajax({
type: 'POST',
data: {
'id': id
},
url: 'test.php',
async: false
});
alert('OK');
return true;
}
</script>
</head>
<body>
<a onclick="return test(1)" href="http://www.google.fr">www.google.fr</a>
</body>
</html>
私のtest.phpページ:
<?php
print_r($_POST['id']);
mail('mymail', 'Test AJAX', $_SERVER['REMOTE_ADDR'].' : '.$_POST['id']);
?>
そして私の CasperJS スクリプト:
var utils = require('utils');
var casper = require('casper').create({
verbose: true,
logLevel: "debug"
});
casper.start('http://www.example.com/index.php');
casper.thenEvaluate(function(term) {}, 'CasperJS');
casper.then(function() {
this.click('a');
});
casper.then(function() {
console.log('clicked ok, new location is ' + this.getCurrentUrl());
});
casper.run();
「アラート」メッセージは適切に開始されますが、AJAX 要求は開始されません。なぜなのかご存知ですか ?