1

このAPIを使用して、meteorアプリケーションでCRUDデータベース操作を実行しています。今まで、すべての操作はうまく実行されています。

ここで、何らかのエラーが発生したユースケース(たとえば、無効なパラメーターなどの検証エラー)を考えてから、jQueryajax呼び出しを介してエラーオブジェクトをphpスクリプトに送信します。

したがって、問題は次のとおりです。NodeJsスクリプトからphpにオブジェクトを投稿する方法は?

Meteorのデフォルトのjqueryパッケージをによって追加してみましたmeteor add jquery。そして、次のようなことをしました:

var $ = require('jquery');
....
....
 function test(data){
   console.log('test'+JSON.stringify(data));
     $.post({
        type: 'POST',
        url: 'http://vibsy.com/test/chest.php',
        data: data,
        success: function(data) {
          console.log(data);
        } 
     });
  }

しかし、これはエラーを示しています:

ReferenceError: require is not defined
    at app\server\collectionapi.js:1:10

何か案は?

4

1 に答える 1

1

Jqueryはクライアント側からはうまく機能しますが、サーバー側で機能するかどうかはわかりません。実行したmeteor add jquery場合は、を使用する必要はありませんrequire。Meteorは、すぐに使用できる正しいjsファイルを自動的に参照します。以下の行を削除してください(クライアントのみ)。

var $ = require('jquery'); 

スクリプトがサーバー上で実行されている場合は、そのように見えます。Meteor.httpを使用することをお勧めします。次のようなものを実行meteor add httpして使用します。

Meteor.http.call("POST", "http://vibsy.com/test/chest.php",{params: data}, function (error, result) {
    if (result.statusCode === 200) {
        console.log(result);
    }
 });

またはより快適に(同期):

var result = Meteor.http.call("POST", "http://vibsy.com/test/chest.php",{params: data});
if (result.statusCode === 200) {
    console.log(result.data); //JSON content
    console.log(result.content); //raw content
}
于 2013-01-30T06:52:26.103 に答える