我正在尝试让 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/