繁体   English   中英

如何将PHP get查询转换为Meteor的HTTP.get()?

[英]How to convert PHP get query to Meteor's HTTP.get()?

我有一个示例php查询,可从API检索数据:

$http = new Client();

 $response = $http->get('https://connection.toserver.com', [ 'GetRequest' => [
                      'identifier'  => '123',
                      'identifierType' => 'code',
                     'language' => 'eng',
                     'maxCount' => 1,
                     'contain' => ['name', 'lastname', 'age']
               ] 
            ], 
           [
           'headers' => [
                'API-LANGUAGE' => 'eng',
               'API-CALL-NAME' => 'Get', 
               'API-AUTH-TOKEN'  => 'somerandomtoken']
 ]
 );

如何使用HTTP包从Meteor服务器端函数发出相同的请求? 我最近的尝试是这样的:

Meteor.methods({
getItemByEAN: function(code) {
    check(code, String);
    this.unblock();
    var x = HTTP.get(url,
      {headers:{
         "API-LANGUAGE": "eng",
         "API-CALL-NAME": "Get",
         "API-AUTH-TOKEN": "somerandomtoken"
          },
        data: {
          identifier: code,
          identifierType: 'code',
          language: 'eng',
          maxCount: 1,
          contain: ['name', 'lastname', 'age']
         }
     });
     return(x);
    }
});

这段代码导致服务器错误“ ReferenceError:未定义数据”,我使用流星docs( http://docs.meteor.com/#/full/http_call )作为参考,但到目前为止没有成功。

先感谢您

编辑:我已经更新了当前的流星示例以显示完整的Meteor.methods()部分

我不知道您的服务器期望什么,但是我看到的一个区别是在php中,您将数据包装在“ GetRequest”对象中。 您是否尝试过:

HTTP.get(url,
  {headers:{
     "API-LANGUAGE": "eng",
     "API-CALL-NAME": "Get",
     "API-AUTH-TOKEN": "somerandomtoken"
      },
    data: { GetRequest: {
       identifier: 123,
      identifierType: 'code',
      language: 'eng',
      maxCount: 1,
      contain: ['name', 'lastname', 'age']
    }}
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM