3

nodejs サーバーを呼び出して、angularjs アプリからの結果を表示しようとしています。例に従っていますが、コードの例のコードを変更すると、常にエラー コールバックが呼び出されます。サーバーに何か問題があると感じていますが、それを機能させることはできず、エクスプレスや他のライブラリのないnodejs、および他のすべての回答にはエクスプレスの使用が含まれます。Express を使用せずに機能させるにはどうすればよいですか?

サーバーを呼び出すangularjsのコード:

app.controller('Main', function ($scope, $http) {
    $scope.init = function() {        
        //var api = 'http://api.trakt.tv/calendar/premieres.json/7c989229f2fa626832e7576eb59820e9/20131103/30/?callback=JSON_CALLBACK';        
        $http.jsonp('http://localhost:8888/selectAllLocations?callback=JSON_CALLBACK').success(function(data) {
            console.log(data);
        }).error(function(error) {
            console.log('My error: ' + error);
        });
    };

});

var api で値を使用すると、結果は問題なく、私のものではなく成功が呼び出されます。

これは私のnodejsサーバーのコードです。

var result = sequelize.query(query, null, options, parameters)
.success(function (rows) {        
    if (type == 'select') {
        response.writeHead(200, { "Content-Type": "application/json" });
        response.write(JSON.stringify(rows));
        response.end();
    } else if (type == 'modify') {
        response.writeHead(200, { "Content-Type": "text/html" });
        response.write("Query was successful");
        response.end();
    }
}
).error(function (e) {
    console.log("An error occured: ", e);
    response.writeHead(404, { "Content-Type": "text/html" });
    response.write("There was an error man, shits on fire yo ---> " + e);
    response.end();
}
);

jsonの結果を関数にラップする必要があると確信していますが、方法がわからず、サーバーで取得できるのはこれだけなので、関数名もわかりません。

パス: /selectAllLocations パラメータ: {"callback":"angular.callbacks._0"}

純粋なjsonを返すことを理解しています。応答でクロムで確認できるため、成功関数の呼び出しを妨げているものがあります。誰かが私を正しい方向に向けることができますか?

4

1 に答える 1