解析云代码httprequest错误

时间:2014-07-24 03:34:03

标签: javascript http parse-platform

我已经在Objective-C中编程多年了,但我需要使用Parse Cloud Code,而且我是Javascript的新手。

这是我的代码:

Parse.Cloud.define("test", function(request, response) {
return Parse.Cloud.httpRequest({
    url: 'https://api-ilv.trulioo.com/partner/v3/truDetect',
    params: {
        'Content-Type' : 'application/json',
        'api_key':'1234567890',
        'provider_name':'fb',
        'provider_url':'https://www.facebook.com/testing'
    }
}).then(function(httpResponse) {
    console.log(httpResponse.text);
    response.success(httpResponse.text);
}, 
function (httpResponse, error) {
    console.error('Request failed with response: ' + httpResponse.text);
    response.error('Request failed with response: ' + httpResponse.text)
});
});

我可能做错了什么?

修改

进行了一些更改以登录上面的代码。这是回复:

{"code":141,"error":"Request failed with response: 405: Method Not Allowed"}

现在,看起来该方法正确地返回错误。但是,错误代码405是什么意思?

3 个答案:

答案 0 :(得分:4)

是POST。需要将其更改为POST

Parse.Cloud.define("test", function(request, response) {

    var baseurl = "https://api-ilv.trulioo.com/partner/v3/truDetect";

    var params = {
      'api_key':'1234567890',
      'provider_name':'fb',
      'provider_url':'https://www.facebook.com/testing'
    }

    return Parse.Cloud.httpRequest({
      method: 'POST',
      url: baseurl,
      headers: {
        'Content-Type': 'application/json;charset=utf-8'
      },
      body: params
    }).then(function(httpResponse) {
        response.success(httpResponse.text);
    }, 
    function (error) {
        console.error('Console Log response: ' + error.text);
        response.error('Request failed with response ' + error.text)
    });
});

答案 1 :(得分:2)

then的{​​{1}}部分需要两个函数 - 第一个用于成功案例,第二个用于错误案例。

Parse.Cloud.httpRequest

我的猜测是您对Parse.Cloud.define("test", function(request, response) { return Parse.Cloud.httpRequest({ url: 'https://api-ilv.trulioo.com/v3/truDetect', params: { 'api_key':'1234567890', 'provider_name':'fb', 'provider_url':'https://www.facebook.com/testing' } }).then(function(httpResponse) { response.success(httpResponse.text); }, function (error) { response.error("Error: " + error.code + " " + error.message); }); }); 的请求遇到了问题,但由于您的代码从未调用api-ilv.trulioo.com,因此您看到&#34;未成功/错误调用&#34; < / em>错误。

答案 2 :(得分:0)

对于单个请求http桥,你不需要。然后功能: 您可以使用成功/错误功能更简单地使用它:

Parse.Cloud.define("test", function (request, response) { 
    var baseurl = "https://api-ilv.trulioo.com/v3/truDetect";  
    Parse.Cloud.httpRequest({ url: baseurl,{
            'api_key':'1234567890',
            'provider_name':'fb',
            'provider_url':'https://www.facebook.com/testing'
        },
        success: function (httpResponse) {
            response.success(httpResponse.text );
        },
        error: function (httpResponse) {
            console.error('Request failed with response code ' + httpResponse.status);
        }
    });  
});