私はJSONPを使用して(別のポート上の)クライアント側の呼び出しを介してサーバーからJSONオブジェクトを取得しようとしています。しかし、私のサーバーはNode.jsとExpressを使ってjavascriptで実装されているため、JSONPでJavascriptを使ってサーバー上でほとんど見つけられませんでした。サーバー側の言語でJavaScriptを使用したJSONP呼び出し
私は、コールバックに関してURLをどのように設定したのかという問題があると私は信じています。サーバー上で
:
//Setting up server stuff
var express = require('express'),
app = express.createServer();
app.use(express.logger());
//Making a connection to the mongoDB to get the data that I want to display in the JSON object
new Db('prism',
new Server("127.0.0.1", 27017, {auto_reconnect: false}), {}).open(function(err, db) {
app.get('/getData', function(req, res) {
console.log('JSONPCALLBACK CALLED WITH RETURNDATA PASSED IN; SERVER SIDE');
if (typeof callback == 'function') {
console.log('callback is defined');
callback(returnData);
}
else {
console.log('callback is not defined');
}
}
});
とクライアント上:標準タグによって埋め込ま
$.ajaxSetup({ cache : false });
$.getJSON('http://127.0.0.1:1337/getData&callback=?', function(rtndata) {
console.log('SUCCESS');
console.log(rtndata);
});
。
しかし、私はエラーを取得:8888:クライアントは、ローカルホスト上のMAMPを介して実行されている間
GET http://127.0.0.1:1337/getData&callback=jQuery16108897686484269798_1311007334273?_=1311007334342 404 (Not Found)
サーバーがポート1337です。私は数日間この設定を実行しようとしていたので、ローカルホストに関連する問題でさえもわからない。
私の問題は、PHPで書かれているこの行を私のサーバー側のJavascriptに書き込まないことと関係していると思います。私が見つけたJSONPの例のほとんどは、このようなものでした。確信はないけど。
if ($GET['callback'] != '')
$json = $GET['callback']."($json)";
return $json;
ご協力いただければ幸いです。私は超冗長であることを前に謝ります。
カテゴリーで探す、 コング
申し訳ありませんが、私は1337としてポートを設定しません。私はコードのスニペットを入れるだけです。私は行を持っています:app.listen(1337);.ポート27017は、mongoDBを接続してデータを取得するために使用されます。私はmongoDBのためのサーバとして走っている独立した端末を開いているので、どのように動作するのか正確にはわかりません。 404の時点で、私がURL:http://127.0.0.1:1337/getData/にアクセスすると、JSON objが表示されますが、通知と一緒に:リソースはDocumentとして解釈されますが、MIMEタイプapplication/jsonで転送されます。 。私はあなたが提案したものを試しましたが、私は同じ問題を抱えています。醜いフォーマットには申し訳ありません。 –