0

ブラウザのGETまたはjquery.ajax GETを直接使用してサーバー側をチェックしたところ、すべて正しいページが返されました。つまり、サーバー側に問題はありません。

しかし、次のコードを使用して ajax 呼び出しを実行しようとすると、常に 500 内部サーバー エラーが発生します。奇妙なことに、コンソール ログを確認したところ、パラメータがサーバーに正常に転送されていないようです。サーバーにアクセスするときの「type」パラメーターと「source」パラメーターはすべて null です。

関連するコードは以下のとおりです。newXMLHttpRequest() は、異なるブラウザーに対して正しいオブジェクトを返すための単なるメソッドであり、正しいことが検証されています。

誰が何がうまくいかないかについて何か考えがありますか?

function updatePage(html){
    var change =html;
    var contents = document.getElementById("contents");
        contents.innerHTML = change;
}

function submit(){
    var t = document.getElementById("type").value;
    var source = document.getElementById("src").value;

    var req = newXMLHttpRequest();
    req.onreadystatechange = getReadyStateHandler(req, updatePage);
    req.open("GET", "RSSFetchServlet.do",true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.send("type="+t+"&source="+source);
}
4

2 に答える 2

0

5xx エラーは、クライアント側のスクリプトではなく、サーバー側のスクリプトに問題があることを意味します。構文エラー、欠落;している、または欠落している可能性のある宣言を確認してください。

500 エラーの修正 - 一般

このエラーは、Web サーバー ソフトウェアを修正することによってのみ解決できます。これはクライアント側の問題ではありません。エラーに関する詳細情報を提供するログを見つけて分析するのは、Web サーバー サイトのオペレータ次第です。


代わりに、URL にパラメーターを追加してみてください。

req.open("GET", "RSSFetchServlet.do?type="+t+"&source="+source,true);
req.send();
于 2013-02-11T03:42:42.970 に答える
0

実際の問題は、POST を使用している場合にのみ、request.send メソッドを使用してパラメーターを送信できることです。それ以外の場合、req はデータを URL にカプセル化しません。

于 2013-02-11T04:20:18.697 に答える