20141022 journey - node.jsはjsonpサービスを構築します.

3852 ワード

仕事のパソコンが詰まってつらいです.ハードディスク(HDD)をフォーマットして会社に修理する準備をします.今はnodeしか入っていません
npm init
npm install --save express
vi index.js
今日のテストを開始します.
var express = require('express');
var app = express();
app.get('/',function(req,res){
  res.type('text');
  res.send('hello.');
});
app.get('/users',function(req,res){
 console.log('get /users called.')
 res.type('json');
 res.send('[{user:"cyper",age:30},{user:"green",age:28}]');

});

app.listen(3000,function(){console.log('listening 3000.');});

簡単なrestfulサービスができました.次にjsonpテストを行います.bower install jquery#1.11.1
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript"src="bower_components/jquery/dist/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            var url = "http://192.168.1.100:3000/users?callback=?";
            $.getJSON(url, function(data){
                $('#test').html(data[0].user);
            });
            $.ajax({
                url: url,
                dataType: 'jsonp',
                complete:function(xhr,status){
                    console.log("complete:",status);
                },
                success: function(data){
                    $('#test').html(data[0].user);
                },
                error: function(xhr, status, err){
                    console.log("error:",err);
                }
            });
        });
    </script>
</head>
<body>
<div id="test"></div>
</body>
</html>
以上jqueryを使用してjsonpサービスを呼び出す2つの方法は、もちろん1つ目が最も簡単です.注意jsonのkeyは「号で囲む」ことが望ましい.
テストに失敗しました.parseerrorのエラーを報告します.ソリューションの詳細は以下の2つの記事を参照してください.
http://stackoverflow.com/questions/5359224/parsererror-after-jquery-ajax-request-with-jsonp-content-type http://stackoverflow.com/questions/5943630/basic-example-of-using-ajax-with-jsonp
サービス・エンドを変更する必要があります.次のように変更します.
var express = require('express');
var app = express();
app.get('/',function(req,res){
  res.type('text');
  res.send('hello.');
});
app.get('/users',function(req,res){
 res.type('json');
 var callback = req.param('callback');
 console.log('callback:',callback);
 res.send(callback + '([{"user":"cyper","age":30}])');

});

app.listen(3000,function(){console.log('listening 3000.');});

テストに成功しました.次はワーク&CDR...J 2 EEモードに切り替えます.DB su db 2 inst 1 db 2 startを起動する.ファイルサービスを起動します(私のディレクトリは散らかっています.ああ、あちこちにあります)cd/home/cyper/workspaces/jee/ibm_w3_server
 sudo ./ibm_w3_serverの内容は次の通りです!/bin/bash apachectl stop node ibm_w3_server.js &
firefox HostAdminプラグインを開き、すべてのエージェントを開きます.
192.168.1.101       1.w3.s81c.com #w3.s81c
192.168.1.101       w3.ibm.com #w3
192.168.1.101       tmscdn.coremetrics.com #rubbish
192.168.1.101       data.coremetrics.com #rubbish
192.168.1.101       libs.coremetrics.com #rubbish
192.168.1.101       faces.tap.ibm.com #faces
192.168.1.101       pt200204.unica.com #pt200204
192.168.1.101       service.maxymiser.net #rubbish

以上の2つのサービスは、私がオフラインで仕事をすることができて、飛ぶような感じがします.
eclipseを起動...
1)checkout latest code 2)modify code 3)commit code, merge to other branch as needed 4)update CDR and upload and leave comments. 5)test and update UT, make screenshots as needed. 6)package and upload and raise tracker and send email notification for approve tracker. このように、簡単なdefectを変更するには、このような多くのステップが必要です.ドキュメントやパッケージのアップロードには多くの時間がかかります.これらはsizingの中に入れなければなりません.