1
我有下面的代碼如預期CasperJs如何綁定變量?
var casper = require('casper').create();
var myData;
var utils = require('utils');
casper.start();
casper.then(function() {
myData = {"source":"casperjs"};
utils.dump(myData);
});
casper.thenOpen('http://my-api/api/upload/', {
method: "post",
data: JSON.stringify(myData),
headers: {
"Content-Type":"application/json"
}
}, function() {
utils.dump(myData);
});
casper.run();
的消息被髮送到我的服務器,但沒有有效數據不發佈數據。但是,如果我移動thenOpen(...)到然後(...)這樣
casper.then(function() {
myData = {"source":"casperjs"};
utils.dump(myData);
this.thenOpen('http://my-api/api/upload/', {
method: "post",
data: JSON.stringify(myData),
headers: {
"Content-Type":"application/json"
}
}, function() {
utils.dump(myData);
});
});
然後後會成功。或者如果我改變原來的代碼(即thenOpen部分,在不動它的casper.then(...)部分,這樣
casper.thenOpen('http://my-api/api/upload/', {
method: "post",
data: JSON.stringify({"source":"casperjs"}),
headers: {
"Content-Type":"application/json"
}
}, function() {
utils.dump(myData);
});
然後後也將是成功的所以它看起來像myData的具有當thenOpen(...)被看作是被初始化。因此,這是預期還是我做錯了什麼?我沒有找到有關此問題的參考。謝謝!