'node js'에 해당되는 글 12건

// 부모 JS 파일

var express = require('express');

var app = express();

var bodyParser = require('body-parser');

var casperProcess = (process.platform === "win32" ? "casperjs.cmd" : "casperjs");

var spawn = require("child_process").spawn



var child = spawn(casperProcess, ['index8.js']);

child.stdout.setEncoding('utf8');


app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: false }));

var result;

app.get('/', function(req, res, next) {


    child.stdout.on("data", function(data) {

        result += data;

        console.log(data);

    });


    child.stderr.on("data", function(data) {

        console.log("spawnSTDERR:", JSON.stringify(data));

    });


    child.on("close", function(code) {

        console.log("자식 프로세스 종료");

        res.send(result);

    })


});


app.listen(180, function() {

    console.log('Crawling app listening on port 180!');

});


// 자식 index8.js 파일
var casper = require('casper').create({
    logLevel:   "error",
    verbose:    true
});

var url = "http://ladder.named.com/main.php";

casper.start(url,function(){
this.echo("캐스퍼 시작");
});

casper.run(function(){
this.echo(this.getHTML()).close();
});


부모 파일에서 casperjs 자식 프로세스를 만든후에 

실행후 종료되었을때 웹으로 출력


핵심포인트...

this.echo(this.getHTML()).close();

 child.on("close", function(code) {

        console.log("자식 프로세스 종료");

        res.send(result);

    })


블로그 이미지

칩사마코더

,

PHP nodejs ajax 연동

node js 2016. 8. 26. 22:02

//클라이언트

<!DOCTYPE html>

<html>

    <head>

        <script src="http://code.jquery.com/jquery-latest.js"></script>

    </head>

    <body>

        <div id="result"></div>

        <input type="text" id="msg" />

        <input type="button" value="get result" id="getResult" />

        <script>

            $('#getResult').click( function() {

                $('#result').html('');

                $.ajax({

                    url:'http://127.0.0.1:3000/test',

                    dataType:'json',

                    type:'POST',

                    data:{'msg':$('#msg').val(),

                     'name': 'lineage'},

                    success:function(result){

alert(result.name);

                $('#result').html(result.msg +"___"+ result.name);

                    }

                });

            })

        </script>

    </body>

</html>


//서버

router.post(['/test/:msg','/test'], function(req, res, next) {

    res.header("Access-Control-Allow-Origin" , "*")

    console.log('body: ' + JSON.stringify(req.body));

    res.send(req.body);

});


//서버 GET 방식

router.get('/test', function(req, res, next) {

    res.header("Access-Control-Allow-Origin" , "*")

    var str = '{ "name": "John Doe", "age": 42 }';

    var obj = JSON.parse(str);

    console.log(obj);

    res.send(obj);

});

블로그 이미지

칩사마코더

,