Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor:将jQueryAjax从NodeJs发布到php_Jquery_Node.js_Meteor - Fatal编程技术网

Meteor:将jQueryAjax从NodeJs发布到php

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

我在meteor应用程序中使用API执行CRUD数据库操作。到目前为止,每项操作都进行得很好

现在考虑一个使用错误发生的用例(例如一些验证错误,比如无效的参数),然后我想通过<强> 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中看到任何结果,因为它只显示从客户端发送的请求