1

我正在使用这个API 在我的流星应用程序中执行 CRUD 数据库操作。到目前为止,每一个操作都执行得很好。

现在考虑一个发生错误的用例(例如,一些验证错误,如无效参数)然后我想通过jQuery ajax 调用将错误对象发送到 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 回答