我正在尝试使用Ionic框架和Parse.com在我的移动应用上运行一个简单的单例示例。 代码很简单如下:
Parse.initialize(APP_KEY, JS_KEY);
Parse.User.signUp("my.user", "123456", {}, {
success: function(user) {
// Hooray! Let them use the app now.
console.log('yuhuuu ' + user)
},
error: function(user, error) {
// Show the error message somewhere and let the user try again.
alert("Error: " + error.code + " " + error.message);
}
});
当我在浏览器上测试时,此代码有效,但当我在手机上运行时,我收到错误代码100
,并显示以下消息:
我已经尝试过改变我单挑的方式(使用对象而不是直接传递用户和密码)。还检查了Android应用程序是否具有访问Web资源的适当权限(可以)。
答案 0 :(得分:22)
在深入挖掘之后,我发现了link,这引起了我注意我问题的根本原因。 Cordova(Ionic的底层平台之一)将请求限制为仅限本地(file://
)资源,这使得所有外部请求都失败。
为了覆盖此行为,您需要使用whitelist plugin并将其设置为允许您所需的api后端。
这可以通过以下方式实现。
首先,将插件添加到项目中。
cordova plugin add https://github.com/apache/cordova-plugin-whitelist.git
然后将后端设置为config.xml
文件中的白名单。
<allow-intent href="*://*api.parse.com/*"/>