我已经在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是什么意思?
答案 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);
}
});
});