在我的 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
编码。
(图片来自 blog.flow.info )
在 IE 中运行的示例(从 Firefox+Firebug 复制):
关于jquery - 如果 URL 包含阿拉伯字符,Ajax 在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23582205/