0

我正在尝试将发布数据传递给以下 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");

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

4

1 回答 1

1

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

例如:

JSON.stringify(obj.email);
于 2013-10-29T04:27:36.233 回答