问题
I'm trying to run a simple singup example on my mobile app using Ionic framework and Parse.com. The code is simple as follows:
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);
}
});
This code works when I test it on my browser, but when I run it on my cellphone I get an error code 100
with the following message:
I've tried already to change the way I singup (usin the object instead of passing user and password directly). Also checked if the android app has proper permissions for accessing web resources (it's OK).
回答1:
After digging a little deeper I've found this link, which brought to my attention the root cause of my problem. Cordova (one of underlying platforms of Ionic) limits requests to only local (file://
) resources, which made all external requests fail.
In order to overwrite this behaviour you need to use the whitelist plugin and set it up to allow you desired api backend.
This can be achieved as follows.
First, add the plugin to the project.
cordova plugin add https://github.com/apache/cordova-plugin-whitelist.git
Then set up your backend to the whitelist at the config.xml
file.
<allow-intent href="*://*api.parse.com/*"/>
来源:https://stackoverflow.com/questions/30360244/xmlhttprequest-failed-on-app