Phantomjs 脚本在 JSON 对象解析后停止执行

Phantomjs script stops execution after json object parsing

本文关键字:执行 脚本 JSON 对象 Phantomjs      更新时间:2023-09-26

我正在尝试将帖子数据传递给以下phantomjs脚本(使用php/curl):

server.listen(port, function(request, response) {
  // Print some information Just for debug 
  console.log("request method: ", request.method);  // request.method POST or GET 
  if(request.method == 'POST' ){
                   console.log("POST params should be next: ");
                   console.log(request.headers);
                code = response.statusCode = 200;
                response.write(code);
                console.log("POST params: ",request.postRaw);
                console.log("POST params: ",JSON.stringify(request.postRaw));
                var json = request.postRaw;
                obj = JSON.parse(json);
                console.log(obj.email);
                console.log(obj.pass);
                var userName = json.stringify(obj.email);
                var userPass = json.stringify(obj.pass);
               console.log("I'm here");

我正在尝试从发布请求中解析出用户名和密码。我注意到,如果我离开:

                var userName = json.stringify(obj.email);
                var userPass = json.stringify(obj.pass);

脚本将在以下之后挂起:

 console.log("I'm here");

如果我删除这 2 行,整个脚本将正常执行。为什么会这样?如何解决此问题,以便我可以解析 json 对象 (obj),但脚本不会挂起?

在常规的javascript中,JSON是大写的(并且区分大小写)。 不确定PhantomJS的javascript子集如何与常规javascript保持一致,但我猜你可能也应该在那里使用大写的JSON。

所以例如:

JSON.stringify(obj.email);