如何在 Parse Cloud Code 和客户端之间正确传递参数? (httpRequest 示例)

Posted

技术标签:

【中文标题】如何在 Parse Cloud Code 和客户端之间正确传递参数? (httpRequest 示例)【英文标题】:How-to correctly pass params between Parse Cloud Code and the Client? (httpRequest Example) 【发布时间】:2016-02-08 22:19:10 【问题描述】:

我已经看过一些示例,阅读了文档并阅读了其他问题,但是我仍然不太确定在哪里添加/正确添加要在 Cloud Code 和我的客户端之间正确传递的参数。

例如,我在这里从我的云代码中的 httpRequest 创建一个新类

在我的云代码main.js

Parse.Cloud.define("POSTfromCloud", function(request, response) 

   //runs when Parse.Cloud.run("POSTfromCloud") on the client side is called
   Parse.Cloud.httpRequest(
        method: "POST",
        headers: 
          "X-Parse-Application-Id": "[PARSE_APP_ID]",
          "X-Parse-REST-API-Key": "[PARSE_REST_ID]",
          "Content-Type": "application/json"
       ,

       //adds a new class to my parse data
       url: "https://api.parse.com/1/classes/newPOSTfromCloudClass/",


       body: 
               "newPOSTfromCloudClass": "key1":"value1","key2":"value2"
             ,

       success: function (httpResponse) 
                console.log(httpResponse.text);
                response.success(httpResponse);
       ,
       error:function (httpResponse) 
                console.error('Request failed with response code ' + httpResponse.status);
                response.error(httpResponse.status);
       

    );  //end of Parse.Cloud.httpRequest()

);

在我的客户端

Parse.Cloud.run('POSTfromCloud', , 
        success: function(result) 
          console.log("Posted a new Parse Class from Cloud Code Successfully! :"+ JSON.stringify(result))
        ,
        error: function(error) 
        console.log("Oops! Couldn't POST from Cloud Code successfully..  :"+ error)
        
      );
    

我的结果:

砰!让它正常工作。现在假设我想让我的 url 成为传递的许多参数之一,我该怎么做?

【问题讨论】:

【参考方案1】:

当我问这个问题时,我也在修补一些东西,因为我无法正确传递任何东西(或者它将作为空值返回)所以这里我有一个关于如何将参数传递给它的示例。

在我的 cloudcode main.js 中

Parse.Cloud.define("POSTfromCloud", function(request, response) 

         //HERE- make a new instance of 'myValue' for Cloudcode to handle
         var myValue = request.params.myValue;

       Parse.Cloud.httpRequest(
            method: "POST",
....[blah blah]

            //AND HERE- placed that here in my body, **note:** you shouldnt store tokens like this, ignore what I named it
            body: 
                   "newPOSTfromCloudClass": "yourToken":myValue,"key2":"value2"
                 ,

客户端

      var myvalue = "I'm The VALUE";
      Parse.Cloud.run('POSTfromCloud', myValue: myvalue, 

          success: function(result) 

结果:这应该正确地传递了参数。再次使用标题“yourToken”忽略我,你不应该这样存储令牌。

这花了一些时间整理,我希望这可以帮助某人。

【讨论】:

以上是关于如何在 Parse Cloud Code 和客户端之间正确传递参数? (httpRequest 示例)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Cloud Code 删除 Parse.com 中的角色

删除 Parse Cloud Code 中的其他文件

使用 Cloud Code 和 PFFacebookUtils 覆盖电子邮件/用户名

如何将 Parse Cloud Code 中的值返回到我的 iOS 应用程序?

向用户添加数据,然后使用 Parse Cloud Code 保存它们

使用 Parse Code Cloud Javascript 函数更改 Parse 列的值