Meteor:将jQueryAjax从NodeJs发布到php
我在meteor应用程序中使用API执行CRUD数据库操作。到目前为止,每项操作都进行得很好Meteor:将jQueryAjax从NodeJs发布到php,jquery,node.js,meteor,Jquery,Node.js,Meteor,我在meteor应用程序中使用API执行CRUD数据库操作。到目前为止,每项操作都进行得很好 现在考虑一个使用错误发生的用例(例如一些验证错误,比如无效的参数),然后我想通过 jQuery Ajax调用< /强>发送错误对象到PHP脚本。p> 所以问题是:如何将对象从NodeJs脚本发布到php 我已经尝试通过meteroaddjquery添加Meteor的默认jquery包。然后做了这样的事情: var $ = require('jquery'); .... .... function te
现在考虑一个使用错误发生的用例(例如一些验证错误,比如无效的参数),然后我想通过<强> jQuery Ajax调用< /强>发送错误对象到PHP脚本。p> 所以问题是:如何将对象从NodeJs脚本发布到php
我已经尝试通过meteroaddjquery
添加Meteor的默认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
有什么想法吗?Jquery在客户端运行良好,我不太确定它是否能在服务器端运行。如果执行了
meteor add jquery
,则不必使用require
。Meteor将自动引用准备使用的正确js文件。删除下面的行(仅限客户端),这样就可以继续了
var $ = require('jquery');
如果您的脚本在服务器上运行,看起来就是这样。它更好用。运行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);
}
});
或更舒适(同步):
Jquery在客户端运行良好,我不太确定它是否能在服务器端运行。如果执行了meteor add jquery
,则不必使用require
。Meteor将自动引用准备使用的正确js文件。删除下面的行(仅限客户端),这样就可以继续了
var $ = require('jquery');
如果您的脚本在服务器上运行,看起来就是这样。它更好用。运行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);
}
});
或更舒适(同步):
我遵循了你的解决方案。Meteor控制台显示的响应为。但php方面没有任何活动。我一直在检查firebug中的网络面板,但它仍然处于空闲状态。您必须检查php脚本,它返回一个Hi
,因此,如果有什么事情没有发生,它会在这一端。您是否在post参数的数据中传递了任何内容?php方面没有任何内容。我只想收到流星那边贴的东西。此外,我还将{params:data}
替换为obj
,其中包含{result:“fail”,code:“1001”,message:“Parameter missing”}
。您需要使用{params:{result:“fail”,code:“1001”,message:“Parameter missing”}
。我认为您需要再次看到PHP结束,因为它向meteor发出了Hi
响应,这表明请求成功。问题更可能出现在PHP端。您不会在firebug中看到任何结果,因为它只显示从客户端发送的请求。我已经遵循了您的解决方案。Meteor控制台显示的响应为。但php方面没有任何活动。我一直在检查firebug中的网络面板,但它仍然处于空闲状态。您必须检查php脚本,它返回一个Hi
,因此,如果有什么事情没有发生,它会在这一端。您是否在post参数的数据中传递了任何内容?php方面没有任何内容。我只想收到流星那边贴的东西。此外,我还将{params:data}
替换为obj
,其中包含{result:“fail”,code:“1001”,message:“Parameter missing”}
。您需要使用{params:{result:“fail”,code:“1001”,message:“Parameter missing”}
。我认为您需要再次看到PHP结束,因为它向meteor发出了Hi
响应,这表明请求成功。问题更可能出现在PHP端。您不会在firebug中看到任何结果,因为它只显示从客户端发送的请求