对于一个web应用程序,我使用Backand.com作为MBAAS。
我创建了一个数据模型并链接了所有的表。
如果我查询默认的REST,那么根本没有问题,但是如果我尝试调用自定义操作或自定义查询,服务器会随机地回答错误404,找不到.
例如,我有一个名为:getCommentsByEvent的定制操作
'use strict';
function backandCallback(userInput, dbRow, parameters, userProfile) {
// write your code here
return $http ({
method: 'GET',
url: CONSTS.apiUrl + '/1/query/data/getCommentsByEvent',
params: {
parameters: {
event_id: {{event_id}}
}
},
headers: {"Authorization": userProfile.token}
});
}在web应用程序中,我使用这段代码通过REST调用它
service.commentsByEvent = function(p, s, r) {
$http({
method: 'GET',
url: Backand.getApiUrl() + '/1/objects/action/comments/?name=getCommentsByEvent',
params: {
parameters: {
event_id: p.eventId
}
}
}).then(s, r);
};自定义操作的编写是正确的,因为如果我试图直接从Backand.com的测试页面调用它,它就可以正常工作,但是如果我尝试从我的web应用程序中运行80%的时间它不工作,它可以工作20%。
这是一个错误:
对象{数据:“未找到或未按需操作”,状态: 404,配置:对象,statusText:“未找到”}
只想知道:-该操作没有安全配置文件或角色或其他;-在调用此动作web应用程序之前调用signin API来获取令牌该操作不需要auth令牌,因为它是公开的。
为了调用signin API,我创建了以下服务:
service.signin = function(email, password) {
//set the app name of Backand. In your app copy this to .config section with hard coded app name
Backand.setAppName($rootScope.appName);
//call Backand for sign in
return Backand.signin(email, password);
};
service.signout = function() {
return Backand.signout();
};有什么想法吗?
谢谢米歇尔
发布于 2016-10-27 10:56:43
修好了!
这是一个非常愚蠢的问题,与Backand.com网站上创建的“应用程序名称”有关.
在Backand.com上,我创建了一个所有名称都是大写的应用程序,比如"MYAPP“,所以当我在角度上配置SDK时,我写了
Backand.setAppName("MYAPP);然而,Backand.com在网站上显示相同的名称,但是在配置过程中只需要一个小写名称!即使是在客户护理部门,也没有人知道这一要求,所以很难理解如何修正.昨天我用这种方法做了一次尝试,成功了.
Backand.setAppName("myapp");总之,如果您有一个错误404和网址是正确的,没有身份验证问题检查,如果应用名称是,只有小写。
https://stackoverflow.com/questions/40129649
复制相似问题