gpt4 book ai didi

javascript - CasperJS POST AJAX 不起作用

转载 作者:行者123 更新时间:2023-12-03 11:12:37 24 4
gpt4 key购买 nike

我正在研究通过ajax发送数据。代码可以工作,但 AJAX 请求不工作。发送的数据不保存。

我尝试过使用webSecurityEnabled: false,但仍然不起作用。

这就是我正在尝试的方法:

var casper = require("casper").create({
logLevel: "error", //debug
verbose: true,

pageSettings: {
loadImages: true, // do not load images
loadPlugins: false, // do not load NPAPI plugins (Flash, Silverlight, ...)
webSecurityEnabled: false // ajax
}
});

........................

var save_file="http://aaa.com/js_save.php";

for(var ii=0; ii<title_link.length; ii++)
{
this.echo(title_link[ii]);

//var save_data = tlink.serialize();
var save_data = {"title":"title", "link":title_link[ii]};

jsonObject_fields = this.evaluate(function(save_file) {
params = save_data;

try {
return JSON.parse(__utils__.sendAJAX(save_file, 'POST', params, false));
} catch (e) {
console.log("Error in fetching json object");
}
}, {save_file : save_file});

try{
//require("utils").dump(JSON.stringify(jsonObject_fields.name));
}
catch(e)
{
console.log("Error is: "+e);
}

} // for

最佳答案

我不完全理解你的问题,但就代码而言,你需要显式地将变量传递到页面上下文中。 casper.evaluate 是沙盒的,在 casper 上下文和页面上下文之间传递数据的唯一方法是使用参数和返回值。外部定义的变量不能在 casper.evaluate 内部使用。

您需要将 save_data 显式传递到页面上下文:

var save_data = {"title":"title", "link":title_link[ii]};

jsonObject_fields = this.evaluate(function(save_file, save_data) {
try {
return JSON.parse(__utils__.sendAJAX(save_file, 'POST', save_data, false));
} catch (e) {
console.log("Error in fetching json object");
}
}, save_file, save_data);

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

24 4 0
文章推荐: javascript - 使用 javascript 更改 IE 兼容模式
文章推荐: javascript - 如何更新 ng-repeat 中的过滤器功能
文章推荐: javascript - 将事件监听器添加到附加在 d3 中的
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com