Autor Zpráva
Monkeys
Profil *
Zdravim

stretol sa uz niekto s touto chybou pri ajaxe ?
SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data : parsererror

Ako sa to da vyriesit?
Request 200 je OK vsetko sa ulozi ako ma ale potrebujem vratit neake veci zo spracovaneho PHP cez json_encode(array(....));

Vdaka
M.
final_
Profil *
Jednoducho, neposielaš to v dobrom formáte z php.
Chamurappi
Profil
Reaguji na Monkeyse:
Nemáš na začátku vrácené stránky víc než jeden BOM?
Posíláš odpověď s MIME typem jiným než text/html? (Protože do text/html občas zasahují všelijaké proxy.)
Monkeys
Profil *
Z ajaxu treba vyhodit dataType : 'json' a v callback funkcii z argumentu funkcie vytvorit objekt JSON.parse() a normalne pouzivat. Funguje.
M.
Chamurappi
Profil
Reaguji na Monkeyse:
Jenže nevíme, v čem byla chyba. Krom toho mi připadá nepravděpodobné, že jsi ji opravdu tímto vyřešil.
Monkeys
Profil *
Chamurappi:
Jenže nevíme, v čem byla chyba.

Tak na to som bohuzial neprisiel ani ja, ale venoval som tomu dnes cely den a vyriesil som to takto a funguje to.
Jednoducho ak som volal ajax s dataType json tak to "nefungovalo", respektive fungovalo ale nic sa nevratilo.

Tento ajax pouzivam na ukladanie obrazkov do DB a do zlozky. Problem je asi pri ukladani obrazku v PHP pretoze mi to vypisuje hlavicku napr. image/jpeg ale to nedokazem niako zmenit.

Kratky prikald ako to mam teraz:

JS
      cache    : false,
                                    type    : "POST",
                                    url        : '...',
                                    data    : {"id" : id, "data" : array},
                                    success    : function( json )
                                    {
                                    if( Object.keys( json ).length > 0 ) xhr = JSON.parse( json );
                                    
                                    if(typeof xhr !== "undefined"){
                                    ....

PHP
echo json_encode(array( ... ));

M.

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: