1

AJAXを使用してCasperJSにフォームを投稿させようとしています-うまくいかないようです。コードは次のとおりです。

this.then(function() {
    response = this.evaluate(function() {
        params = $("#offer").serialize();

        //require('utils').dump(params);
        $.ajax({
            type: "POST",
            url: 'http://www.example.com/getoffer.php',
            data: params,
            success: function (data) {
                //return data.responseText;
                return __utils__.sendAJAX(url, 'POST', params);
            },
            error: function (xhr,status,error){
                return error;
            }

        });
    });

    this.echo(response);
});
4

1 に答える 1

2

CORS?

(私はそれを、これまでで最も短いStackOverflowの回答として残しておきたいと思っています:-)

JavaScript はブラウザ内から実行され、セキュリティ モデルが適用されます。「オリジン」は、CasperJS が要求しているページになります。それが「www.mysite.com」でない場合 (または、そうであるが HTTPS の場合)、ブラウザは送信を拒否します。

この回答https://stackoverflow.com/a/16221536/841830--web-security=false、(casperjs コマンドライン オプションとして指定すると) CORS の制限を回避すると述べています。

この問題はあなたと同じように見えるので、CORS の問題でない場合は、他のアイデアが得られるかもしれません: http://code.google.com/p/phantomjs/issues/detail?id=28

于 2013-11-12T03:37:06.160 に答える