Načtení souboru do modulu v JavaScript – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Načtení souboru do modulu v JavaScript – JavaScript, AJAX, jQuery – Fórum – Programujte.comNačtení souboru do modulu v JavaScript – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

xhonzax0
Duch
2. 4. 2017   #1
-
0
-

Zdravím,

potřeboval bych poradit. Chci na webové stránce psané v HTML a JS použít načtení souboru CSV do modulu PapaParse. Stránka musí být psaná tak, aby bylo možné ji spustit offline na lokální stanici - bez spuštění serveru. Modul PapaParse vyžaduje předání odkazu na soubor v proměnné typu File. Problém nastává v řešení lokálního použití. Chrome díky nastavení pravidel si myslí, že soubor stahuji z jiné domény a vyhodí chybu:

XMLHttpRequest cannot load file:///D:/Plocha/jmeter_plocha/201704011741/content/summary.csv. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https.

Pouštění serveru na stanici nepřipadá v úvahu. Je to potřeba udělat tak, aby uživatel poklepal na index.html a mohl brouzdat daty v prohlížeči. Neví prosím někdo, co s tím? Mockrát díky. 

Nahlásit jako SPAM
IP: 193.17.251.–
peter
~ Anonymní uživatel
4016 příspěvků
4. 4. 2017   #2
-
0
-

U Chrome lze cekat necekane, takze nema ani smysl se jim zabyvat, dokud to google nejak neodladi a to bude s google pristupem tak za 5-10 let :)

Soubor se obecne nacita pres js http request. Coz je omezeno obvykle na lokalni server. Ale z flasky by to nemelo fungovat. To by byla bezpecnostni dira, jak zjistovat, jake soubory ma uzivatel na disku. Proste treba projet vsechny kombinace nazvu a pod.

Jediny zpusob, jak to obejit, je, nacist to jako js soubor. Nebo mozna by se to dalo nacist jako css a pak nejak rozparsovat pres js. Js kod pro csv by mohl vypadat takto:
 

var x = "\
aaa;bbb;ccc\n\
0;x;y\n\
1;u;v\ 
";
x = x.split("\n");
// To \n tam taky musis mit, aby to mel podle ceho splitovat

Podminkou je, abys tam nemel zalomeni radku bez lomitka '\'. A nebo proste to muzes preformatovat na pole.

x = [
[1, 2, 3],
[1, 2, 3],
[1, 2, 3] // IE nema rado posledni prvek s carkou
];

Proste, nevim zpusob (mozna uz je), jak tam dostat csv jako csv jinak nez pres request. Ale nejspis to casem pujde, aby js umel pracovat databazove a pak tam bude i import dat v csv :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:3887:d1...–
peter
~ Anonymní uživatel
4016 příspěvků
4. 4. 2017   #3
-
0
-
Nahlásit jako SPAM
IP: 2001:718:2601:26c:3887:d1...–
xhonzax0
Duch
8. 4. 2017   #4
-
0
-

Díky za radu. Nakonec všechna potřebná data zapisuji do .js souboru. Ve výsledku je to možná elegantnější řešení, než načítat .csv soubor.   

Nahlásit jako SPAM
IP: 193.17.251.–
peter
~ Anonymní uživatel
4016 příspěvků
10. 4. 2017   #5
-
0
-

Mozna by se k tomu dali pouzit js/php funkce json. Ale nevim, jak moc to podporuji jine prohlizece nez Firefox :)

Nahlásit jako SPAM
IP: 2001:718:2601:26c:c97f:7b...–
xhonzax0
Duch
10. 4. 2017   #6
-
0
-

#5 peter
Vzhledem k tomu, že stránky chci otevírat pouze v lokálu bez nějakého serveru, tak bohužel možnost PHP odpadá.

Nahlásit jako SPAM
IP: 78.45.135.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 17 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý