jquery - 如果 URL 包含阿拉伯字符,Ajax 在 IE 中不起作用

标签 jquery ajax json internet-explorer

在我的 Blogger 网站中,我从 JSON feed 加载帖子,JSON 链接如下所示。

    http://technopress-demo.blogspot.com/feeds/posts/default/-/LABEL NAME?alt=json-in-script&max-results=5

这是我用来从上面的 URL 获取帖子的代码。

    $.ajax({url:""+window.location.protocol+"//"+window.location.host
    +"/feeds/posts/default/-/"+LABEL NAME
    +"?alt=json-in-script&max-results=5",
    type:'get',dataType:"jsonp",success:function(data){}

问题是,当我用阿拉伯标签更改“标签名称”时,帖子未加载。我用英文标签测试了它,它工作正常,但我对阿拉伯标签有问题。我已经尝试过使用此方法来解码 URL,但它不起作用。

    $.ajax({url:""+window.location.protocol+"//"+window.location.host
    +"/feeds/posts/default/-/"+encodeURIComponent(LABEL NAME)
    +"?alt=json-in-script&max-results=5",
    type:'get',dataType:"jsonp",success:function(data){}

这是一个live demo的问题。

最佳答案

IE 存在 URL 编码不正确的问题,简单的 <a href 也存在问题。包含未编码的字符。

LABEL%20NAME而不是LABEL NAME应该可以。

使用 JSONP,jQuery 生成 <script src="http://technopress-demo.blogspot.com/feeds/posts/default/-/LABEL NAME?alt=json-in-script&max-results=5">其中包含未编码的字符。

而不是 encodeURIComponent(LABEL NAME) ,使用引号:

encodeURIComponent("LABEL NAME")

重要提示:保存您的文件 UTF-8编码。

enter image description here (图片来自 blog.flow.info )

在 IE 中运行的示例(从 Firefox+Firebug 复制):

enter image description here

关于jquery - 如果 URL 包含阿拉伯字符,Ajax 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582205/

相关文章:

javascript - 没有收到任何错误,但页面未在我的 Flask 应用程序中使用 render_template 进行渲染

ruby-on-rails - Rails AJAX : My partial needs a FormBuilder instance

javascript - 在 AngularJS 中读取 JSON 会按原样打印 HTML 标签

javascript - 删除超链接但保留文本?

jQuery 等同于 Prototype array.last()

javascript - jQuery focusout 事件不会在表元素上触发

javascript - 比较来自 JSON 的信息,返回列表中的顶部结果

与 ThemeRoller 提供的完全不同的 jQuery UI 主题

javascript - AJAX表单提交,仅用于防止页面刷新,仅此而已

python - 从 MongoDB 到 Pandas 数据框架