8

私は本当にこれを取得しません。次の「取得」リクエストがあります。

$.ajax( {
    url: "api/getdirectories/",
    dataType: 'json',
    success: function ( data ) {
        // Do stuff
    }
} );

これは、ステージング サーバー によって提供されたページにありますhttp://atlas/Reporter。私のローカル開発ボックスでは、これは機能し、フィドラーを見ると正しい URL が表示されますhttp://localhost/Reporter/api/getdirectories。ただし、ステージング サーバーでは、リクエストは tohttp://atlas/api/getdirectoriesであり、これは無効であり、404 エラーが発生します。

パスの「Reporter」部分がステージング サーバーにドロップされるのはなぜですか? ドキュメントを見ると、URL、baseURI、documentURI はすべてhttp://atlas/Reporterで、ドメインはatlasです。私のローカル開発ボックスとまったく同じです(ただし、「atlas」ではなく「localhost」です。

この問題は、しばらくの間私を悩ませてきました。私はそれを理解し、すべてが良いと思いますが、再びそれに出くわします。ページの元のサイトと同じサイトからデータを要求しているため、同じ元のポリシーの問題ではないと思います。

では、リクエストの完全な URL はどのように正確に決定されるのでしょうか? 上記のドキュメント変数の 1 つが私の相対 URL に連結されているようには見えません...では、これはどのように機能するのでしょうか?

Edit: Removed the '/' from the URL as it is distracting from the real issue- behavior is the same with or without it.

4

5 に答える 5

9

/URL の先頭にあると、絶対になります。

おそらく相対 URL が必要です。

api/getdirectories/

また

getdirectories/

また

../api/getdirectories/
于 2013-03-28T17:09:13.457 に答える
0

サーバーの document_root を確認するか、いくつかの仮想サーバーが宣言されているかどうかを確認してください

于 2013-03-28T17:08:11.513 に答える