1

私はjavascriptでクロム拡張機能を構築しています。

ajax 要求を使用して Outlook メールサーバーからページ コンテンツを取得しようとしていますが、正しいページが返されません。

問題を引き起こしているのはデンマークの文字 æ だと思いますが、解決方法がわかりません。

$.ajax({
    url: baseURL + 'Indbakke/',
    data: "Cmd=contents&View=Ulæste%20meddelelser", //Avoid encodeURI
    dataType: 'html',
    processData: false, //Avoid encodeURI
    cache: false,
    success: function(data) {
             fetchedInbox = $.parseHTML(data);

             //If there are changes to the inbox, refresh the inbox page
             if(findString(fetchedInbox, 'ingen emner')) 
             {
                 window.parent.frames[1].location = baseURL + 'Indbakke/?Cmd=contents';
             }
    },
    complete : function(){
             console.log("URL" + this.url)
    }
  });

成功関数のデータ変数には間違ったページが含まれていますが、完全な関数から「this.url」をブラウザーにコピーすると、正しいページが表示されます。完全なリンクでデフォルトの ajax 設定と encodeURI を使用してみましたが (「data」オプションを使用せずに)、「data」または「this.url」のどちらも機能しません (つまり、2 番目のパラメーターを「View=Ul%」に変更します)。 C6ste%20meddelelser')。

サーバーが送信する(おそらく)aspページにアクセスできないため、javascriptだけなので、サーバー側で何もできません。

注: Chrome コンソールに this.url が表示されると、æ の前でリンクが切れるので、手動で URL をコピーする必要があります。

4

1 に答える 1

1

おそらく、æこのエラーを作成するのは です。で置き換えるæ%C3%A6、ヘッダーが正しい場所に送信されます。

data: "Cmd=contents&View=Ul%C3%A6ste%20meddelelser"

エンコードされた文字を見つけるために、次のコンバーターを使用しました: http://meyerweb.com/eric/tools/dencoder/

于 2013-10-19T17:59:08.830 に答える