繁体   English   中英

PhantomJS错误:无法访问已删除QObject的成员“写入”

[英]PhantomJS error: Cannot access member 'write' of deleted QObject

我需要在将接受json的端口7788上创建Web api,然后将该json传递给将呈现网站的api,然后幻影js将在该页面上找到元素,并且端口7788上的web api应该返回该元素。 一切正常,直到我尝试将响应发送到7788上的服务器的错误:

无法访问已删除QObject的成员“写”:

为此: firstResponse.write(imgsrc);

是否可以在调用page.open之后返回带有server.listen响应的元素?

var server = require('webserver').create();
    var port = require('system').env.PORT || 7788;

    server.listen(port, {'keepAlive': false}, function (request, response) {

        console.log("request method: ", request.method);  // request.method POST or GET    
            var imgsrc;
            var firstResponse = response;

        if (request.method == 'POST') {

            var page = require('webpage').create();
            var settings = {
              operation: "POST",
              encoding: "utf8",
              headers: {
                "Content-Type": "application/json"
              },
              data: JSON.stringify(request.post)
            };
            var url = "http://127.0.0.1:5000/mapapp";

             page.onConsoleMessage = function(msg, lineNum, sourceId) {
                console.log('CONSOLE: ' + msg + ' (from line #' + lineNum + ' in "' + sourceId + '")');
            }; 

            page.open(url, settings, function (status) {


                setTimeout(function () {
                    page.evaluate(function () { 

                        imgsrc = document.getElementById("exportedImg").src;
                    });

                }, 5000);
            });
            page.close();
            setTimeout(function () {
                    firstResponse.write(imgsrc);

                }, 7000);
        firstResponse.close(); 

        }


    });

您调用firstResponse.close(); before称为firstResponse.write(imgsrc); 超时后。 将firstResponse.close()移至setTimeout处理程序:

page.close();
setTimeout(function () {
            firstResponse.write(imgsrc);
            firstResponse.close(); 
}, 7000);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM