0

関数内でPHP scriptローカルサーバーでa を呼び出そうとしていますが、どういうわけか結果が得られません。これが私のコードです:jQueryCasperJS

casper.then(function() {
    var result = casper.evaluate(function() {
        var result = $.get('http://localhost/test.php', function() {});
        return result;
    });
    result = JSON.stringify(result);
    this.echo(result);
    this.exit();
});

どの URL が呼び出されても、常に同じ結果が得られます。

{"abort":{},"always":{},"complete":{},"done":{},"error":null,"fail":{},"getAllRe
sponseHeaders":{},"getResponseHeader":{},"overrideMimeType":{},"pipe":null,"prog
ress":{},"promise":{},"readyState":1,"setRequestHeader":{},"state":{},"statusCod
e":{},"success":null,"then":{}}

私がチェックしたこと:

  • XAMP サーバーが実行され、機能している
  • PHPファイルがあります
  • 他の URL も機能せず、結果が返されます (上記を参照)。
  • また、jQuery関数は機能$.load()しません(結果は「null」です)
  • jQuery が正しく読み込まれている (そうでない場合、CasperJS はエラーをスローします)
  • 単純に返すと、正しく機能します(例return "test";

何をすべきかわからない。ご提案ありがとうございます。

4

3 に答える 3

1

$.get非同期であるため、コールバックが呼び出されるまで結果は利用できません。

casper.then(function() {
    var _this = this;
    casper.evaluate(function() {
        $.get('http://localhost/test.php', function(result) {
            _this.echo(result);
            _this.exit();
        });
    });
});
于 2013-06-24T14:52:51.140 に答える
0

$.get() の jQuery ドキュメントのどこにも $.get() はページのコンテンツを返しません。http トランスポート インスタンスを使用しています。

于 2013-06-24T14:54:18.820 に答える