Ajax funktioniert nicht im Internet Explorer, wenn URL arabisches Zeichen enthält

8

In meiner Blogger-Website lade ich Beiträge aus dem JSON-Feed. Der JSON-Link sieht so aus.

%Vor%

Dies ist der Code, den ich verwende, um Posts von der obigen URL zu erhalten.

%Vor%

Das Problem ist, dass wenn ich 'LABEL NAME' mit einem arabischen Label ändere, die Posts nicht geladen wurden. Ich habe es mit englischen Label getestet und es funktioniert gut, aber ich habe Probleme mit arabischen. Ich habe es versucht, URL zu dekodieren, aber es funktioniert nicht.

%Vor%

Dies ist eine Live-Demo des Problems.

    
Masked 10.05.2014, 14:25
quelle

2 Antworten

1

IE hat Probleme mit nicht korrekt codierten URLs, es hat auch Probleme mit einfachen <a href , die unverschlüsselte Zeichen enthalten.

LABEL%20NAME anstelle von LABEL NAME sollte funktionieren.

Mit JSONP generiert jQuery ein <script src="http://technopress-demo.blogspot.com/feeds/posts/default/-/LABEL NAME?alt=json-in-script&max-results=5"> , in dem das unverschlüsselte Zeichen enthalten ist.

Anstelle von encodeURIComponent(LABEL NAME) verwenden Sie Anführungszeichen:

%Vor%

Wichtig: Speichern Sie Ihre Dateien UTF-8 encoded.

(Bild von blog.flow.info )

Beispiel, das in IE funktioniert (kopiert von Firefox + Firebug):

    
DanFromGermany 20.05.2014 11:46
quelle
0

Entfernen Sie in Ihrer Live-Demo

%Vor%

Aus der CSS macht es OK in IE für mich. Das div mit id="recent" und class="recent shortext" scheint in FF ein anderes Markup zu haben.

    
Chris Lear 20.05.2014 11:41
quelle