Domänenübergreifender XHR-Fehler

Ich habe eine API, die auf einer Domain gehostet wird, auf der CORS mit den folgenden Headern aktiviert ist:

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Max-Age: 1728000

Ich kann eine GET- oder POST-Anfrage von hackst.com stellen und es funktioniert einwandfrei. Verknüpfung:http://hackst.com/#w3SbV

Von meiner Backbone-App, die auf einer anderen Domain gehostet wird, funktionieren GET-Anforderungen einwandfrei. Wenn ich jedoch versuche, ein neues Modell zu erstellen und zu speichern (d. H. Eine POST-Anforderung zu erstellen), schlägt dies mit dem folgenden Fehler fehl:

Failed to load resource: the server responded with a status of 501 (Not Implemented) http://projectwhatup.us:5000/api/posts
XMLHttpRequest cannot load http://projectwhatup.us:5000/api/posts. Origin http://ayush.projectwhatup.us is not allowed by Access-Control-Allow-Origin.

Mein relevanter Backbone-Code:

var newPostData = {
    topic : "New Post",
    body : "new body",          
    user_id : 1,
};  

var newPostModel = new Post(newPostData);
this.model.create(newPostModel);

Ich habe sogar versucht, das zu übertreibencreate Methode und erstellen Sie eine POST-Anforderung manuell wie folgt:

create : function(data) {
    console.log('overriden create');

    $.ajax({
        "url" : this.url,
        "async" : true,
        "beforeSend" : function(obj){
            console.log(obj);
        },
        "contentType" : 'application/json',
        //"crossDomain" : true,  // uncommenting this doesnt help either
        "headers" : {

        },
        "dataType" : 'json',
        "type" : 'POST',
        "data" : JSON.stringify(data),
        "error" : function(err){
            console.log('new post creation failed');
            console.log(err);
        },
        "success" : function(resp){
            console.log('new post created');
            console.log(resp);
        }
    });
}

Gleicher Fehler.

Ich habe auch eine eigenständige GET-Anfrage auf JSFiddle (http://jsfiddle.net/X9cqh/5/) versucht, aber das schlägt fehl, obwohl meine Backbone-App die GET-Anfrage in Ordnung bringen kann.

Ich bin zu diesem Zeitpunkt völlig ahnungslos. Irgendwelche Tipps, Hinweise, Lösungen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage