在parse.com中的post请求中请求参数

时间:2014-11-17 19:17:28

标签: json post parse-platform

对于名为mOTP的服务,我需要发送名为“private”的参数。这是我的Parse云代码。

var phnNum = request.params.phnNum;
var validationParams = {"private":"MyPrivateKey"};
Parse.Cloud.httpRequest({
    method: 'POST',
    url: 'https://api.mOTP.in/v1/otp/MyAPIKey/'+MySessionID,
    headers: {
        'Content-Type': 'application/json;charset=utf-8'
    },
    params: validationParams,
    success: function(httpResponse) {
        console.log(httpResponse.data.Status);
        console.log(httpResponse.data.Result);
        if(phnNum == httpResponse.data.Result) {
            response.success("Success");
        } else {
            response.error("phnNum not matched");
        }
    },
    error: function(httpResponse) {
        console.error('Request failed with response code ' + httpResponse.status);
        response.error("URL hit failed");
    }
});

mOTP服务以JSON格式提供响应。但我总是得到“方法不受支持”的回复。我无法找到我在做错的地方。请帮忙。 mOTP docs:http://dial2verify.com/mOTP_Missed_Call_OTP_Authentication/Documentation.html

1 个答案:

答案 0 :(得分:1)

首先,您应该使用POST方法传递正文消息。

内容类型应为' application / x-www-form-urlencoded'根据文件。

Parse.Cloud.httpRequest({
    method: 'POST',
    url: 'https://motp.p.mashape.com/v1/otp/{APIKey}/{SessionId}',
    headers: {
        'X-Mashape-Key': 'YOUR-X-Mashape-Key',
        'Content-Type': 'application/x-www-form-urlencoded'
    },
    body: {'private': 'Your_mOTP_Private_Key'},
    success: function(httpResponse) {
        response.success(httpResponse.text);
    },
    error: function(httpResponse) {
        response.error("error: " + httpResponse.status);
    }
});