Zadałbym pytanie dotyczące tego, dlaczego większość rozwiązań Ajax obejmuje jakiś język back-end, takich jak PHP.

Powiedziano mi, że to z powodu faktu, że przeglądarka internetowa nie zezwala na kompletne rozwiązanie javascript / jQuery z powodu tej samej polityki domeny. Jednak kod poniżej absolutnie działa dobrze:

<script type="text/javascript">
        $(document).ready(function () {
            $("#1").click(function () {

                $.ajax({
                    type: "GET",
                    url: "http://api.wunderground.com/api/ac7e64a2f6e2d440/geolookup/conditions/q/IA/Cedar_Rapids.json",
                    dataType: "jsonp",
                    success: function (parsed_json) {
                        $('div').html("Current temperature in " + parsed_json.current_observation.temp_f);
                        alert(parsed_json.location.city);
                        var location = parsed_json['location']['city'];
                        var temp_f = parsed_json['current_observation']['temp_f'];
                        alert("Current temperature in " + location + " is: " + temp_f);
                    }
                });

            });

        });
</script>

Czy ten kod nie powinien biegać? Nie rozumiem.

Dzięki, Jim.

2
jim dif 23 sierpień 2012, 21:14

2 odpowiedzi

Najlepsza odpowiedź

Tylko JSONP żąda dziedzinę pracy między domeną. Twoja droga do robienia jest poprawna!

1) Nie można uzyskać dostępu do obiektów DOM lub obiektów JavaScript w innej domenie (na przykład w Iframe) zobacz moją odpowiedź tutaj: Jak mogę utworzyć Funkcja w innej klatce?

2) Kiedyś robiłliśmy takie rzeczy (zobacz moją odpowiedź), aby komunikować się z JS do PHP iz powrotem. JavaScript: Jak utworzyć JSONP?

1
Community 23 maj 2017, 12:20

dataType: "jsonp",

JSONP służy do omówienia tej samej polityki pochodzenia.

Oto link, aby uzyskać więcej informacji - http://www.ibm.com/developerWorks / Biblioteka / WA-AJ-JSONP1 /

Należy również pamiętać, że serwery mogą również umożliwiać dostęp do dostępu. To jest to, co robi większość dostawców API. - http://enai-cors.org/

2
JohnP 23 sierpień 2012, 17:15