1

我试图让 CasperJS 使用 AJAX 发布表单 - 它似乎对我不起作用,代码如下:

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 回答