0

$.get()関数を介して HTML ページのコンテンツを取得しようとしています。このページには、ファイル名に特殊文字+が含まれています。

mypage+v1.html

コンテンツを取得しようとしている方法は次のとおりです。

$.get("mypage+v1.html", function(data){
    alert(data);
});

このコードは機能し、ローカルで正常に実行され、コンテンツを正しく取得します。Web サーバーに移動するとすぐに動作が停止し、ajax 呼び出しで404 Not foundエラーが返されます。

スクリプトとファイル名の両方で+_に置き換えようとしましたが、機能しますが、プラス記号を保持する必要があります..使用しようとしましたencodeURI()

$.get(encodeURI("mypage+v1.html"), function(data){
    alert(data);
});

+を手動で%2Bに置き換えることもできます

var url = "mypage+v1.html".replace("+", "%2B");
$.get(url , function(data){
    alert(data);
});

しかし、それはうまくいきませんでした..

使用する

$.get(encodeURIComponent("mypage+v1.html"), function(data){
    alert(data);
});

次のエラーがスローされます。

GET http://.../mypage%2Bv1.html 404 (not found)

エンコードされた URL でも機能しません。


補足:他のページを正常に取得しています

$.load("pagename.html #divToAppendTo", function(res, stat, xhr){
    ....
});

$.get元の HTML ファイルのさまざまな部分にこれらのスライスを追加する前に、ファイル コンテンツを操作してスライスする必要があるため、使用する必要があります。$.load()私は呼び出しをテストし、Request メソッドを使用しています: GET、このようにして、フォルダーにアクセスできることがわかります..

他のアイデアはありますか?

ありがとう

4

0 に答える 0