Shopsystem ShopPilot

ShopPilot => SSP - Shop Server Pages => Ajax Fragen => Thema gestartet von: dobra am Juli 02, 2011, 21:50:45

Titel: ajaxsearch - unnötiges \" gibt error ???
Beitrag von: dobra am Juli 02, 2011, 21:50:45
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"
(http://www.woll-insel.at/Bilder/SP-Forum/json.jpg)


offline "Antwort":
Zitat
DBD::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:
(http://www.woll-insel.at/Bilder/SP-Forum/json-wi.jpg)

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 ....
Titel: Re: ajaxsearch - unnötiges \" gibt error ???
Beitrag von: ahe am Juli 03, 2011, 01:51:11
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.
Titel: Re: ajaxsearch - unnötiges \" gibt error ???
Beitrag von: dobra am Juli 03, 2011, 10:01:11
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
Zitat
This 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
Zitat
This 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 ;)
Titel: ERLEDIGT: ajaxsearch - unnötiges \" gibt error ???
Beitrag von: dobra am Juli 03, 2011, 13:02:20
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 ;) )