8

こんにちは、JSP ページへの ajax 呼び出しを試みています。これがJS関数の一部です。

<script>
$(function(){

  function myAjaxCall() {
     $.ajax({
        type: "post",
        url: "jsp/common/myJavascriptPage.jsp",
        dataType: "text",
        success: 
            function (result) {
               alert("Got the result: " + result);
            },
            error: function (xhr,status,error) {
               alert("Status: " + status);
               alert("Error: " + error);
               alert("xhr: " + xhr.readyState);
            },
            statusCode: {
               404: function() {
                   alert("page not found");
               }
            }
        });
   }
 });
 </script>

上記の URL に JSP が存在するにもかかわらず、常にファイルが見つかりません。webapp ディレクトリの場所に相対的な JSP ファイルの場所を計算していることに注意してください。

通常の AJAX 呼び出し (jQuery なし) を使用してみましたが、同じエラーが発生しました。

jsp を特定できない理由を理解していただけますか?

4

3 に答える 3

14

webapp ディレクトリの場所に相対的な JSP ファイルの場所を計算していることに注意してください。

これはあなたが間違っているところです。

AJAX はクライアントの Web ブラウザーから実行されます。つまり、サーバー上の何にも関連していません。

Web ブラウザーでそのページにアクセスするとしたら、どこに行きますか?

そこにリクエスト URL を配置します。

編集:明らかにこれを十分に説明していないので、もう一度やり直してください!

サーバーにファイルがあり、次のように保存されているとします。

my_website/src/webapp/jsp/common/myFile.jsp

一般にアクセス可能な URLを介してこのリソースにアクセスしたい場合、上記のファイル パスとは異なります。のようなものcommon/myFile.jspかもしれませんcommon/myFile

この場合、AJAX 要求をその URL に送信できるようにするには、公開されている URL を使用する必要があります。

于 2012-06-28T19:07:56.253 に答える
2

URL が不完全なようです。このエラーの原因として最も可能性が高いのは、完全修飾 URL がないことです。

完全なパスを指定してみて、それが役立つかどうかを確認してください。

于 2012-06-28T19:07:46.357 に答える
0

ページが見つからないというエラーについて、次の 2 点を確認してください。私も同じ問題に直面しました。私の場合、jsonファイルを呼び出してデータをロードしていました。以下の修正を修正した後、正常に動作するようになりました。

(1) ファイル パス (URL) は、スクリプトが実行される現在のページに対して相対的である必要があります。

(2) IIS サーバーに .json (text/plain) MIME 拡張子を追加します。

于 2014-11-12T06:01:03.987 に答える