在控制台中发出 http 请求时,PhantomJs 没有 return 任何状态
PhantomJs does not return any status when making an http request in console
我下载了 PhantomJS,启动了 exe 并在控制台输入
var page = require('webpage').create();
page.open('http://net.tutsplus.com', function(s){console.log(s);})
我没有看到控制台返回状态 "success",也没有错误。为什么?
我尝试使用 hello.js 它打印 "success" 但它不在交互模式下,这正常吗?
不要使用交互模式打开页面。某些东西阻止了 PhantomJS 打开页面,所以永远不会调用回调。如果稍等片刻并尝试访问 page.content
,它仍会显示 about:blank 内容。 This is because REPL mode is broken.
上一个答案 如果这被用作脚本而不是交互模式:
我认为这是冲洗问题。添加第二个 console.log()
以查看是否出现第一个。
此外,关闭脚本总是一个好主意,此时输出 将 刷新:
page.open('http://net.tutsplus.com', function(s){
console.log(s);
phantom.exit();
});
我可以在 Raspbian 上用 PhantomJS 2.0.1-dev 重现这个问题。所有其他调用都没有问题了。
我下载了 PhantomJS,启动了 exe 并在控制台输入
var page = require('webpage').create();
page.open('http://net.tutsplus.com', function(s){console.log(s);})
我没有看到控制台返回状态 "success",也没有错误。为什么?
我尝试使用 hello.js 它打印 "success" 但它不在交互模式下,这正常吗?
不要使用交互模式打开页面。某些东西阻止了 PhantomJS 打开页面,所以永远不会调用回调。如果稍等片刻并尝试访问 page.content
,它仍会显示 about:blank 内容。 This is because REPL mode is broken.
上一个答案 如果这被用作脚本而不是交互模式:
我认为这是冲洗问题。添加第二个 console.log()
以查看是否出现第一个。
此外,关闭脚本总是一个好主意,此时输出 将 刷新:
page.open('http://net.tutsplus.com', function(s){
console.log(s);
phantom.exit();
});
我可以在 Raspbian 上用 PhantomJS 2.0.1-dev 重现这个问题。所有其他调用都没有问题了。