0

クロスドメイン node.js から Sencha Touch で json を取得しようとしています

私のnode.jsコード:

app.get('/login', function (req, res) {
    console.log("Request handler random was called.");
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "X-Requested-With");
    res.writeHead(200, {"Content-Type": "application/json"});
    var otherArray = ["item1", "item2"];
    var otherObject = { item1: "item1val", item2: "item2val" };
    var json = JSON.stringify({ 
        anObject: otherObject, 
        anArray: otherArray, 
        another: "item"
    });
    res.end(json);
});

ここでコードは正常に動作します: http://still-stream-9036.herokuapp.com/login

しかし、sencha touchで取得しようとすると、次のようになりました:

(failed)
Invalid HTTP status code 404
4

1 に答える 1

0

ここで解決策を見つけました:

// CORS を有効にします

var enableCORS = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, Content-   Length, X-Requested-With');

// intercept OPTIONS method
if ('OPTIONS' == req.method) {
  res.send(200);
}
else {
  next();
}
};


// enable CORS!
app.use(enableCORS);
//--------------

フォント: stackoverflow.com/questions/21236954/sencha-touch-post-to-node-js-error

于 2014-01-21T11:07:14.870 に答える