Autor Zpráva
d.b.cooper
Profil *
zdravím

poradí mi někdo prosím jak na json ? na lokále mi vše jde ale po nahrání zdrojů na endoru je někde problém ...

$.ajax s dataType: "json" mi hází na hostingu endory chybu "unexpected character at line 1 column 1 of the JSON data"

po googlení jsem zjistil že problém je že response není json formát což podle mě nesouhlasí ...

string responsu zobrazen ve zdrojovém kódu :
{"result":"Success","total":23655,"count":10}

hlavička responsu

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection: close
Content-Type: application/json; charset=utf-8
Date: Sun, 10 Jan 2016 10:52:24 GMT
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Server: nginx
Transfer-Encoding: chunked
X-Powered-By: PHP/5.6.12

může ještě něco rozbíjet identifikaci json kódu ? díky

před výpisem
echo json_encode($arrRet );

jsem přidal na začátek souboru hlavičku ale co sem se dozvěděl tak je to tam irelevatní jen pro mojí informaci
header('Content-Type: application/json; charset=utf-8');

pro jistotu celý ajax volání
url = "/data/ajaxFile/ajax.php";
data = "action=addBasket&id="+prodId+"&count="+count

$.ajax({
        type: "POST",
        url: url,
        data: data,
        dataType: "json",       
        success: function(retData){
        alert("succes");
           
            
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
           alert("err1");
             alert(XMLHttpRequest.status); 
            alert(errorThrown);
            
            
         }
Chamurappi
Profil
Reaguji na d.b.coopera:
Tipnul bych si, že bude na vině PHP, že před začátkem máš více UTF-8 BOMů (jeden BOM nevadí), což mohlo vzniknout inkludováním více souborů s BOMem.
Jestli jsem se netrefil, tak chyba bude nejspíš mimo informace, které máme k dispozici, a hodila by se živá ukázka.
d.b.cooper
Profil *
hm hm hm tvoje teorie bude zřejmě správná napsal jsem si výstup natvrdo string abych mohl testovat a pokud dám nazačátku jen jeden include tak to proběhne a pokud dva za sebou (stejný soubor abych měl jistotu že neviditelný znaky budou stejný) tak nastane err

našel jsem nějaký cz článek co je to BOM a jak ho odstranit v PSPadu ale pokud otevřu tenhle soubor a dám konfiguraci je tam možnost pro "Ident. byty v kódování UTF-8" odškrtnuto ... takže se zdá že to tam není

možná to ale špatně diagnostikuju a možná PSPad pouze má tuto volbu pro následující uložení a nenačte nastavení editovanýho souboru

mohl by si mi dát nějaký tip na lepší diagnostiku ? a je možný že budu mít po odstranění problémy s diakritikou ? pomalu se začínám naklánět k tomu se na JSON vykašlat a předávat parametry jako HTML a pak je nějak rozdělovat nějakým separátorem :D ... no ale rači bych chtěl umět to udělat správně díky
mimochodec
Profil
d.b.cooper:
je tam možnost pro "Ident. byty v kódování UTF-8" odškrtnuto

Trochu jiné problémy s kódováním souborů pod pspadem se doporučuje řešit tak, že kódování, které chci mít utf-8 a pspad mi zobrazuje jako utf-8, přepnu na win-1250, uložím, přepnu na utf-8, uložím a je vyřešeno. Jinak řečeno: sovy nejsou tím, čím se zdají být. Netvrdím, že toto je stejný případ, ale zkusil bych tu volbu "Ident. byty..." zapnout, uložit, vypnout, uložit.
d.b.cooper
Profil *
tak stači jen soubor v PSPadu přeuložit a nastavení je globální pro všechny záložky ...
normálně používám netbeansy už teď se tešín na další problémy s tím spojené až na to zapomenu :) :) ...

jdu přeuložit hromadu souborů ...uf
_es
Profil
d.b.cooper:
tak stači jen soubor v PSPadu přeuložit a nastavení je globální pro všechny záložky ...
A ešte lepšie stačí BOM nepoužívať, a deklarovať kódovanie UTF-8 v HTTP hlavičke. Nastav si v textovom editore UTF-8 bez BOM.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: