2017-04-25 14 views
0

localhostでアプリケーションを実行するとうまく動作しますが、オンラインで実行すると "404 Page not found"が表示されます。同じコードはオンラインとローカルです。ajax GETはlocalhostで動作しますが、オンラインではありません

Ajaxコードがあります:

var FormAll = $("#formPdf"); 
$.ajax({ 
    type: "GET", 
    dataType: "json", 
    contentType: "application/json", 
    url: "/Objetivo/SendPdf", 
    data: FormAll.serialize(), 
    success: function (resultado) { 
     //do something 
    }, 
    error: function (jqXHR, exception) { 
     alert(jqXHR.status); 
    } 
}); 

Pythonのコードがあります:

@app.route('/Objetivo/SendPdf',methods=['GET']) 
def sendPdf(): 
    try: 
     ##Do Something 
    except Exception as e: 
     print(e) 
+0

url: '/ Objetivo/SendPdf'が404エラーを表示するときは、ajaxとは関係ありません。これはおそらく、ルートがサーバー上に存在しないためです。サーバーが正しく構築されているかどうか、およびサーバーサイドスクリプトに正しいCORSヘッダーが指定されているかどうかを確認してください。 –

+0

経路が存在する場合 –

+0

存在する場合、404エラーは発生しません。ここであなたはhttpのエラーコードリストを持っています:http://www.restapitutorial.com/httpstatuscodes.html –

答えて

0

フラスコQuickstartから:

外部から見えるサーバ あなたが実行している場合は、あなたは気付くでしょうサーバー サーバーは自分のコンピュータからしかアクセスできず、ネットワーク内の他の からはアクセスできません。デバッグモードでは、アプリケーションの ユーザが コンピュータで任意のPythonコードを実行できるため、これがデフォルトです。

デバッガを無効にするか、ネットワーク上のユーザーを信頼している場合は、 あなたは、単にコマンドラインに --host = 0.0.0.0を追加することにより、サーバを公開することができます:

フラスコの実行を - host = 0.0.0.0これは、すべてのパブリックIPを でリッスンするようにオペレーティングシステムに指示します。

関連する問題