2012-06-28 7 views
8

こんにちは私は、JSPページへのajax呼び出しをしようとしています。ここにJSの機能があります。jQuery ajaxコール "Not Found"エラー

<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を見つけることができないのか理解してもらえますか?

+0

まず、jsp/common/myJavascriptPage.jspは何を返しますか? – TNC

+0

あなたの呼び出しで 'url'を' '/jsp/common/myJavascriptPage.jsp ''に変更してみることができますか? – MilkyWayJoe

+0

私はテキストを返すだけです。Javaコードが埋め込まれています。 'response.getWriter()。println(myResponse);' – Leo

答えて

13

webappディレクトリの相対的なJSPファイルの位置を計算しています。

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

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

ウェブブラウザでそのページをヒットした場合、どこに行くのですか?

ここで、リクエストURLを指定します。

編集:私は明らかにこのことを十分に説明していないので、もう一度行ってください!私は公的にアクセス可能なURLを通じてこのリソースにアクセスしたい場合は、それは同じではないでしょう

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

は、私はそうのように保存されている私のサーバー上のファイルを持っているのは、言ってみましょう上記のファイルパス。 common/myFile.jsp、おそらくcommon/myFileのようなものかもしれません。

これが当てはまる場合は、公開アクセス可能なURLを使用して、AJAXリクエストがそのURLに送信できるようにする必要があります。

+1

私は同じページにとどまる必要があります。 JSPには、これに埋め込まれたJavaコードが含まれています。このコードは、index.jspファイルで更新する必要のあるテキストを返します。 – Leo

+0

これは問題ありません。単純に言えば、AJAXはHTTPリクエストを出していることを意味し、いつ戻ってくるのか心配していません。あなたのブラウザでページを訪問することと変わりはありません。要求が送信されると、そのページにリダイレクトされません。 –

+0

よろしくお願いします。したがって、URLは "index.jsp"のままでなければなりません。はいの場合、JSPページから応答を取得するにはどうすればよいですか? – Leo

1

URLが不完全なようです。エラーの原因としては、完全修飾URLを持っていない可能性が考えられます。

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

0

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

(1)ファイルのパス(URL)は、スクリプトが

をexeutes現在のページが(2)IISサーバーで.json(text/plainの)MIME拡張子を追加するには相対的である必要があります。

関連する問題