1

ドキュメントに従って基本的な Node.js http サーバーをセットアップしました。Javascript (AJAX) と通信できる非常に単純な Web サービスを作成しようとしています。これを Arduino に接続します。これはテスト ピースです。別の道をたどるかもしれませんが、これは楽しいことが証明されています。とにかく、ここにサーバー側のJavaScriptがあります:

var http = require('http');
var _return = 'Bing Bong';

  http.createServer(function (req, res) {
        res.writeHead(200, {'Content-Type': 'application/jsonp'});

    //do stuff
    res.end('_return(\'Hello :-)\' + _return)');
}).listen(process.env.VMC_APP_PORT || 1337, null);

そして、これはクライアント側です:

function experimentFive(node) {
    console.log('X5 Func started');

    console.log('Calling Node.js service');

    var nodeURL = node;

    $.ajax({
        url: nodeURL,
        dataType: "jsonp",
        jsonpCallback: "_return",
        cache: false,
        timeout: 50000,
        success: function(data) {
            console.log('Data is: ' + data);
            $("#nodeString").text(" ");
            $("#nodeString").append(data);
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.log('error : ' + textStatus + " " + errorThrown);
        }
    });
}

experimentFive('http://fingerpuk.eu01.aws.af.cm/');

これは機能します。データは返されますが、期待どおりではありません。私ができるようにしたいのは、データサーバー側を変更して、それを受け取ることです。res.end プラスの文字列を取得します。

function () {
        responseContainer = arguments;
    } 

変数のデータの代わりに。そのデータをどのように取り戻そうとしても、未定義またはこの応答のいずれかです。

調査によると、コールバックが発生する前に変数にデータセットが設定されていないため、空になっていると思います。しかし、初期値を設定すると、データはまだ定義されていません。

ここで非常に単純なものが欠けていますか?C# に戻した方がいいのでしょうか?

乾杯。

4

1 に答える 1