1

我正在用 javascript 构建一个 chrome 扩展。

我正在尝试通过 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)
    }
  });

succes 函数的数据变量包含错误的页面,但如果我将完整函数中的“ this.url ”复制到浏览器中,它会显示正确的页面。我尝试在完整链接上使用默认的 ajax 设置和 encodeURI(不使用“数据”选项),但是“数据”或“this.url”都不起作用(即我将第二个参数更改为“视图=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 回答