代码之家  ›  专栏  ›  技术社区  ›  LongInt

Jquery ajax函数返回错误的页面,尽管浏览器窗口中的url显示正确的页面

  •  1
  • LongInt  · 技术社区  · 11 年前

    我正在用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)
        }
      });
    

    的数据变量 成功 函数包含错误的页面,但如果我从 完成 函数,它会显示右侧页面。我尝试在完整链接上使用默认的ajax设置和encodeURI(不使用“data”选项),但“data”或“this.url”都不起作用(即,我将第二个参数更改为“View=Ul%C6ste%20meddelelser”)。

    我无法访问服务器发送的(可能)asp页面,只能访问javascript,所以我不能在服务器端做任何事情。

    注意:当chromes控制台显示this.url时,它之前断开了链接,所以我必须手动复制url

    1 回复  |  直到 11 年前
        1
  •  1
  •   Broxzier Pham Hoang Hiep    11 年前

    可能是 æ 导致此错误。代替 通过 %C3%A6 并且报头将被发送到正确的位置。

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

    为了找到编码的字符,我使用了这个转换器: http://meyerweb.com/eric/tools/dencoder/