我想让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);
});
答案 0 :(得分: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