Diskuze: Apache Cordova - Jquery

JavaScript JavaScript Apache Cordova - Jquery

Avatar
BlugW
Redaktor
Avatar
BlugW:

Hoj,

Učím se Apache Cordova, a potřebují nějak dostat data z php scriptu.
Z php jsem to vyřešil, vrací mi to JSON. Ale zaboha mi jquery nechce přebrat ty data, ani chybu to nepíše.
Celý den se s tím patlám, už jsem vyzkoušel snad vše co je na googlu, ale prostě to nechce fungovat.

Přikládám jeden z mých pokusu:

$(function () {
                    var listdiv = $("#webdataul");
                    $.ajax({
                        url: "http://www.stranka.cz/nejaky-skript/",
                        dataType: 'jsonp',
                        success: function (data) {
                            $.each(data, function (i, item) {
                                listdiv.append(item.name);
                            });
                        }
                    });
                });

Kus z JSONu:

[
    {
        "name":"Name1",
        "type":"1",
        ...
    },
    {
        "name":"Name2",
        "type":"2",
        ...
]

Dokáže mi s tím někdo poradit?

Editováno 5.9.2015 20:11
Odpovědět 5.9.2015 20:09
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
BlugW
Redaktor
Avatar
Odpovídá na BlugW
BlugW:

Samozřejmě, jsem to zkoušel i normálně na webu, ale nefunguje a taky nepíše žádnou chybu.

Nahoru Odpovědět 5.9.2015 20:14
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Michal Vašíček
Tým ITnetwork
Avatar
Michal Vašíček:
$.ajax({
            url : url,
            type : "get",
            async: false,
            success : function(data) {
                var parsed = JSON.parse(data);
                alert(parsed[0]);
            }
        });

Třeba takhle. Musíš to volat jako normální GET, a nějak nechápu tvůj styl parsování. Používej radši JSON.parse.

Nahoru Odpovědět 5.9.2015 21:10
Příspěvek může obsahovat stopy arašídů, sarkasmu a sóji.
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Michal Vašíček
BlugW:

Díky, ale vypisuje chybu:

Failed to load resourcek.cor­s.a.crossDoma­in.send @ /vendor/jquery/jqu­ery.js:4

Editováno 5.9.2015 21:20
Nahoru Odpovědět 5.9.2015 21:17
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
BlugW
Redaktor
Avatar
BlugW:

Celá chyba, nestihl jsem to vše překopírovat :-` .

Waring: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check http://xhr.spec.whatwg.org/.
Error: Failed to load resource k.cors.a.cros­sDomain.send @ /vendor/jquery/jqu­ery.js:4

Nahoru Odpovědět 5.9.2015 21:25
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na BlugW
Michal Žůrek (misaz):

Asi záleží na jaké platformě vyvíjíš. Některé platformy požadují whitelist povolených zdrojů a jinam tě nepustí.

Nahoru Odpovědět 5.9.2015 21:46
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na brambora
Michal Žůrek (misaz):

tuto chybu to vypíše v případě ukázky od Michal Vašíček, která ma nastavený attribute ať se provádí synchronně - což je vskutku ubohost v JavaScriptu, který je celý asynchronní.

Nahoru Odpovědět 5.9.2015 21:50
Nesnáším {}, proto se jim vyhýbám.
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
BlugW:

Hlavně mi to furt háže: Invalid character, na řádek, kde je JSON.parse().

Nemám náhodou JSON ve špatném formatu?

Editováno 5.9.2015 22:41
Nahoru Odpovědět 5.9.2015 22:39
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na BlugW
Michal Žůrek (misaz):

a si si jistý, že server tomu klientovy vrací to co má? To vypadá jako by tam ani nepřišel JSON, ale třeba nějaký warning, nebo nějaká notice.

Nahoru Odpovědět 5.9.2015 22:44
Nesnáším {}, proto se jim vyhýbám.
Avatar
BlugW
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
BlugW:

Teď už si nejsem jistý :D

No, když si zadám normálně URL do prohlížeče, tak to vrací normálně, něco v tomhle smyslu:

[
    {
        "name":"Name1",
        "type":"1",
        ...
    },
    {
        "name":"Name2",
        "type":"2",
        ...
]

JSON.strigify vrací totež.

Editováno 5.9.2015 23:06
Nahoru Odpovědět 5.9.2015 23:03
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
BlugW
Redaktor
Avatar
BlugW:

Tak už to funguje.
Problem byl v JSONu...
Ale furt nechápu jak to že to nebralo ten co jsem měl, když se používá všude, snad i tady...

Ten nový, vypadá takto:

"[
        {
                \u0022name\u0022:\u0022Name1\u0022,
                \u0022type\u0022:\u00226 1,
                ...
        },
        {
                \u0022name\u0022:\u0022Name2\u0022,
                \u0022type\u0022:\u00226 2,
                ...
        }
]
Editováno 5.9.2015 23:17
Nahoru Odpovědět 5.9.2015 23:16
Pořiď si mac na www.appletrh.cz. Novinky a zajímavosti ze světa Apple na https://www.applemagazin.eu
Avatar
Odpovídá na BlugW
Michal Žůrek (misaz):

a není problém spíš než v JSONu v kódování? Je ten JSON ze serveru UTF-8?

Nahoru Odpovědět 6.9.2015 10:21
Nesnáším {}, proto se jim vyhýbám.
Avatar
Taskkill
Redaktor
Avatar
Odpovídá na BlugW
Taskkill:

Zeptám se na to cos uvedl hned na začátku, ze zdrojaku je vidět že používáš jsonp ... Tedy cross site ... Ale nevidím už callback pro jsonp api ... Ani v URL ani v dalších parametrech jQueriovskeho ajaxu ... Z dokumentace vyplývá že jquery by ho chtěla ... Jak to tedy máš ?

 
Nahoru Odpovědět 6.9.2015 11:53
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 15 zpráv z 15.