ajaxsearch - unnötiges \" gibt error ???

Begonnen von dobra, Juli 02, 2011, 21:50:45

« vorheriges - nächstes »

0 Mitglieder und 1 Gast betrachten dieses Thema.

dobra

Hallo,

Im PS-Shop habe ich einen Fehler im ajaxsearch und kann die Ursache einfach nicht finden  :-\
Die Scripte sind die selben wie im WI-Shp wo alles korrekt funktioniert

es werden unnötige " (bzw \") übergeben die dann scheinbar den status "err" auslösen.

online
"Antwort":
Zitat{"_err":"Fehler in getPattern: ","_call":{"params":"[\"merino\", 1, 0, 0, 100, 1, \"\", \"KATEG\", \"\", \"DESCR\", \"DESCR\"]","method":"getPatterns","id":0},"_status":"err"}

"JSON"



offline "Antwort":
ZitatDBD::ODBC::st execute failed: [MySQL][ODBC 3.51 Driver][mysqld-5.0.67-community-nt]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' HOP_ITEM., HOP_ISCAT.SCID, HOP_ITEM.ITEMID   FROM HOP_ITEM INNER JOIN HOP_ISCAT' at line 1 (SQL-42000)(DBD: st_execute/SQLExecute err=-1) at Ibodata.pm line 1986.
{"_err":"Fehler in getPattern: ","_call":{"params":"[\"mer\", 1, 0, 0, 100, 1, \"\", \"KATEG\", \"\", \"ZTEXT\", \"ZTEXT\"]","method":"getPatterns","id":0},"_status":"err"}

im WI-Shop schaut die Konsole so aus:


Zitat_call    Object { params=[11], method="getPatterns", id=0}

also hier wo alles passt
{"method":"getPatterns","id":0,"params":["merino",1,0,0,100,1,"","KATEG","","BTEXT","BTEXT"]}

und m PS-Shop
{"method":"getPatterns","id":0,"params":"[\"merino\", 1, 0, 0, 100, 1, \"\", \"KATEG\", \"\", \"DESCR\", \"DESCR\"]"}

wo kommen die unnötigen "\" vor dem " her ?
suche den Fehler und vergleiche die Scripte vergeblich seit zwei Tagen
Habe testweise auch schon die Originalscripte aus dem Carshop eingebaut - selbes Ergebnis
(es geht um die *neuen* ajaxsearch-Scripte mit JSON2)

Hat bitte jemand einen Tipp für mich WO ich diesen Fehler noch suchen kann?
Habe ajaxsearch schon in viele Projekte (problemlos) eingebaut aber hier bin ich jetzt ratlos ....
mfG
dobra

ahe

Hallo dobra,

sieht mir aus, als wenn auf die JSON::to_json() Funktion 2x auf das Ergebnis angewendet wurde.
Das ist dann also 1x zuviel und würde genau zu diesem Ergebnis führen.
MfG ahe

dobra

Hallo ahe,

klingt zwar logisch aber ich habe absolut keine Ahnung wo das mit dem 2x anwenden her kommt  ???

etwas habe ich noch entdeckt
wenn ich im PS-Shop (offline) die Infoseite "ajax-global" = die Seite wo die Vorlage ajax/ajax.html eingetragen ist aufrufe, bekomme ich die Meldung
ZitatThis Error has occured:
parsing error 123-6 in ./ajax/ajax.html: Syntax error (word) at 1 in ,094600. at C:/Programme/IBO-Internet-Software/ShopPilot-Enterprise3/lib/CGI/Carp.pm line 319, <$file> line 23.

im Wi-Shop und im Carshop (wo die ajax-Suche ja funktioniert) kommt aber
ZitatThis Error has occured:
parsing error 123-6 in ./ajax/ajax.html: Syntax error (word) at 1 in ,095306. at ajax/JSON/Parser.pm line 347, <$file> line 25.


in meiner ajax.html habe ich jetzt nur das
<!--spmacro:module(ajax)

push(@INC,'ajax');
require "JSON.pm";
print "Content-Type: text/plain;charset=ISO-8859-1\n\n";
my $pCall = JSON::jsonToObj($main::input);

my %methods = ('ajaxsearch::getPatterns' => 'ajax/ajaxsearch.ipl',  # Ajaxsuche
              'dummy::dummy' => 'ajax/dummy.ipl');   # eine andere Methode

             
foreach my $m (keys(%methods)) {
 my $func = $m;
 $func =~ /^.*::(\w[\w\d]*)$/;
 $func = $1;
 if ($pCall->{method} eq $func) {
      main::read_templ_work($methods{$m},0);
    ssp::trace("called $func $m $methods($m)\n");
      &$m($pCall);
      exit(0);
 }
}
-->


und ajax/JSON/Parser.pm ist die selbe wie in den anderen Shops

wenn ich den Fehler nicht doch noch finden sollte (unwahrscheinlich - ich suche ja schon tagelang vergeblich) sollten wir das dann vielleicht doch per mail machen ?
... ist ja doch mal wieder ein sehr "spezielles" Problem und vermutlich nicht von allgemeinem Interesse ;)
mfG
dobra

dobra

habe den "Übeltäter" doch noch gefunden.

Die ajax-Scripte waren alle OK - da konnte ich keinen Fehler finden weil da keiner war  ::)

schuld was diese Zeile
<script type="text/javascript" src="../js/prototype.js"></script>
ganz unten nach dem __ajaxsearch::print_ToolTip__

Zeile gelöscht und jetzt funktioniert die ajax-Suche auch im PS-Shop
(allerdings die Lightbox nicht mehr - aber das ist eine andere Geschichte ;) )
mfG
dobra