2

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 要求は開始されません。なぜなのかご存知ですか ?

4

1 に答える 1

0

わかりました、私は答えを見つけました。問題は、認証が必要なプロキシを使用していて、AJAX 要求が必要なユーザーとパスワードを送信していなかったためです。

認証なしで IP からのすべての接続を許可するようにプロキシを直接構成すると、機能します。

于 2013-08-28T12:51:23.150 に答える