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