2016-10-04 30 views
0

エラーが発生しました新しいオブジェクトを作成できませんでした:XMLHttpRequestが失敗しました:「Parse APIに接続できません」 Parse Server APIに接続します。私はHerokuにParsePlatform/parse-server-exampleを配備しました。私はこのコードでHerokuの上で解析するために接続しようとするとエラーが出るなしproblems.Iでbroswserで私のアプリにアクセスすることができます。「Parse APIに接続できません」というエラーメッセージが表示される

var $result=$('#results').html('Testing configuration.....'); 
    Parse.initialize('<MY_APP_ID>', '<MY_JAVASRIPT_KEY>'); 
    Parse.serverURL = '<MY_HEROKU_APP_NAME>.herokuapp.com/' 

    var ParseServerTest = Parse.Object.extend('ParseServerTest'); 
    var _ParseServerTest = new ParseServerTest(); 

    _ParseServerTest.set('key', 'value'); 
    _ParseServerTest.save(null, { 
    success: function(_ParseServerTest) { 
     var txt = 'Yay, your server works! New object created with objectId: ' + _ParseServerTest.id; 
     $result.html('<div class="alert alert-success" role="alert">' + txt + '</div>'); 
    }, 
    error: function(_ParseServerTest, error) { 
     var txt = 'Bummer, Failed to create new object, with error code: ' + error.message; 
     $result.html('<div class="alert alert-danger" role="alert">' + txt + '</div>'); 
    } 
    }); 

index.js

// Example express application adding the parse-server module to expose Parse 
// compatible API routes. 

var express = require('express'); 
var cors = require('cors'); 

var ParseServer = require('parse-server').ParseServer; 
var path = require('path'); 

var databaseUri = process.env.DATABASE_URI || process.env.MONGODB_URI; 

if (!databaseUri) { 
    console.log('DATABASE_URI not specified, falling back to localhost.'); 
} 

var api = new ParseServer({ 
    databaseURI: databaseUri || 'mongodb://localhost:27017/dev', 
    cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js', 
    appId: process.env.APP_ID || 'myAppId', 
    masterKey: process.env.MASTER_KEY || '', //Add your master key here. Keep it secret! 
    serverURL: process.env.SERVER_URL || 'https://localhost:1337/parse', // Don't forget to change to https if needed 
    liveQuery: { 
    classNames: ["Posts", "Comments"] // List of classes to support for query subscriptions 
    } 
}); 
// Client-keys like the javascript key or the .NET key are not necessary with parse-server 
// If you wish you require them, you can set them as options in the initialization above: 
// javascriptKey, restAPIKey, dotNetKey, clientKey 

var app = express(); 
app.use(cors()); 

// Serve static assets from the /public folder 
app.use('/public', express.static(path.join(__dirname, '/public'))); 

// Serve the Parse API on the /parse URL prefix 
var mountPath = process.env.PARSE_MOUNT || '/parse'; 
app.use(mountPath, api); 

// Parse Server plays nicely with the rest of your web routes 
app.get('/', function(req, res) { 
    res.status(200).send('I dream of being a website. Please star the parse-server repo on GitHub!'); 
}); 

// There will be a test page available on the /test path of your server url 
// Remove this before launching your app 
app.get('/test', function(req, res) { 
    res.sendFile(path.join(__dirname, '/public/test.html')); 
}); 

var port = process.env.PORT || 1337; 
var httpServer = require('http').createServer(app); 
httpServer.listen(port, function() { 
    console.log('parse-server-example running on port ' + port + '.'); 
}); 

// This will enable the Live Query real-time server 
ParseServer.createLiveQueryServer(httpServer); 

Herokuのコンフィグ:

Heroku config

私はこの記事を踏襲:How can I host my own Parse Server on Heroku using MongoDB? i "は展開Erokuへ" ボタンを使用しなかった以外、私はそれを手動で展開。

ありがとうございました。

答えて

0

最後に私は方法を見つけました。 私はmongo dbで別のユーザーを作成し、それをHerokuに変更しました。

は、その後、私はアンドロイドのクライアントで試してみました...同じjsのコード code jsfiddleに接続してみたがうまくいきませんでした、このリンクは
public class StarterApplication extends Application { 
@Override 
public void onCreate() { 
    super.onCreate(); 

    // Enable Local Datastore. 
    Parse.enableLocalDatastore(this); 

    // Add your initialization code here 
    Parse.initialize(new Parse.Configuration.Builder(getApplicationContext()) 
      .applicationId("BUTYcVjD7nFz4Le") 
      .clientKey("XgQaeDY8Bfvw2r8vKCW") 
      .server("https://xxxxx-xxxx-xxxxx.herokuapp.com/parse") 
      .build() 
    ); 

    ParseUser.enableAutomaticUser(); 
    ParseACL defaultACL = new ParseACL(); 
    // Optionally enable public read access. 
    // defaultACL.setPublicReadAccess(true); 
    ParseACL.setDefaultACL(defaultACL, true); 
} 

StarterApplication.java

私をたくさん http://www.robpercival.co.uk/parse-server-on-heroku/

を助けましたMainActivity.java

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 

    ParseAnalytics.trackAppOpenedInBackground(getIntent()); 

    ParseObject test = new ParseObject("Test"); 
    test.put("username","pedro"); 
    test.put("age",33); 
    test.saveInBackground(new SaveCallback() { 
     public void done(ParseException e) { 
      if (e == null) { 
       Log.i("Parse", "Save Succeeded"); 
      } else { 
       Log.e("Parse", "Save Failed"); 
      } 
     } 
    }); 

} 

私の最初のユーザーの問題は本当にわかりません。接続できません。私はjsコードに接続することはできませんでした...とにかく私の目標は、Androidクライアントと接続することでした...

関連する問題