javascript - 通过 POST 的 CasperJS AJAX 表单不起作用

标签 javascript jquery phantomjs casperjs

我正在尝试让 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);
});

最佳答案

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

关于javascript - 通过 POST 的 CasperJS AJAX 表单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19905616/

相关文章:

javascript - 检查节点是否被完全选中

javascript - 在 typescript 中将对象路径作为参数传递

javascript - 在 JavaScript 中,e.target 没有像我预期的那样工作

linux - Karma/PhantomJS 在 Windows 上工作,在 Linux 上相同的配置无法向 PhantomJS 发送消息

javascript - 未定义 foreach 作为 AJAX 选项

javascript - js 不能在 IE 上工作,但可以在 FF 上工作......给出inner.html错误..所以想转换为jquery格式

javascript - 如何使用Java脚本委托(delegate),在点击事件中使用每个函数值?

javascript - 无法获取 API 以在 jQuery 中显示数据

javascript - PhantomJS 5-min Wiki phantom.exit() 奇怪

ember.js - 单个测试在 PhantomJS 中失败,但在 Chrome 和 Firefox 中有效