2017-01-24 8 views
1

geoJSONデータを、あるサーバで実行されているNode.jsアプリケーションから別のサーバで実行中のWebアプリケーションに渡そうとしています。私はこれに対処する他にもたくさんの質問を見つけましたが、私が試したことは何も私の問題を解決するように見えません。エラー:jQuery ...が呼び出されませんでした - AjaxがNode.jsクロスドメインサーバからgeoJSONをリクエストしています

ChromeでRestEasy拡張機能を使用すると、問題なくRESTapiのすべての呼び出しを使用できます。 GET、PUT、DELETE、POSTを実行します。また、ブラウザにURLを貼り付けると、ChromeのコンソールのレポートとにGeoJSONデータのページを返します。

Resource interpreted as Document but transferred with MIME type application/json: 

これは私が、クライアントのWebアプリケーションにして、私はそのデータをプルしたい、このような何かを書いたのは初めてですgeoJSONデータをマップにレンダリングします。

最初に、私はクロスドメイン設定でJSONPを使用する必要があることを理解していますが、私は最初のステップがそれを受け取ったと思っていることに慣れていませんでした。 ドメイン間の問題を解決するように見えるNode.jsアプリケーションにCORSをインストールしましたが、今はこのjQueryエラーが発生しています。

これは私のクライアント側のAJAX機能である:

$(document).ready(function() 
    { 
     console.log("Running AJAX"); 
     $.ajax(
     { 
      type: "GET", 
      contentType: "application/jsonp; charset=utf-8", 
      url: myUrl, 
      cache: false, 
      timeout: 5000, 
      dataType: "jsonp", 
      crossDomain: true, 
      data: "{}", 
      success: function (data) 
      { 
       // do my stuff 
       console.log("Reading Data"); 
       console.log(data); 
      }, 
      error: function (xhr, ajaxOptions, thrownError) 
      { 
       console.log("http Status Response: " + xhr.status); 
       console.log(thrownError); 
      } 
     }); 
    }); 

これは、サーバー上の私のNode.jsアプリです:

app.get('/api/objects', function(req, res) 
{ 
    Object.getObjects(function(err, objects) 
    { 
     if (err) 
     { 
      res.json(err); 
     } 

     res.jsonp(objects); 
    }); 
}); 

はここクロームコンソールからのエラーです:

http Status Response: 200 
Error: jQuery31108564601072970404_1485231436558 was not called 
at Function.error (jquery.min.js:2) 
at b.converters.script json (jquery.min.js:4) 
at Nb (jquery.min.js:4) 
at A (jquery.min.js:4) 
at HTMLScriptElement.c (jquery.min.js:4) 
at HTMLScriptElement.dispatch (jquery.min.js:3) 
at HTMLScriptElement.q.handle (jquery.min.js:3) 

答えて

0

問題を発見しました。 再起動しているapache(node.jsアプリケーションを実行しているサーバー)がnode.jsアプリケーションを再起動しないことがわかります。 したがって、サーバー上の変更は適用されませんでした。

ここでは、node.jsアプリケーションを再起動した後にコンソールが読み込む内容を示します。学んだ教訓。

Reading Data 
Array[16] 
0: Object__v: 0_id: "58815cd0110dcc3b1e51d411"geometry: Objectproperties: Objecttype: "Feature"__proto__: 
Object1: 
Object2: 
Object3: 
Object4: 
Object5: 
Object6: 
Object7: 
Object8: 
Object9: 
Object10: 
Object11: 
Object12: 
Object13: 
Object14: 
Object15: 
Object 
length: 16 
__proto__: Array[0] 
関連する問題