El problema es que estoy utilizando sessiones en ASP para una web en la que voy añadiendo productos a una sección, muy similar a como si fuera un carrito de compra.
Al inicio de la página tengo:
Código:
Se supone que ahi la inicializo si no existe la variable, inicializo dos una que llevara unicamente un contador (nObjetos) y la otra que lleva una cadena de objetos definidos de manera:if len(session("pres")) = 0 then session("pres") = "@;@;;;" session("nObjetos") = cInt(0) end if
@;@;;;dato1@;dato2@;dato3@;;;
El problema es que a veces funciona bien y a veces no...y el problema esta en el contador, limito a que sea un máximo de tres productos, los productos los inserto y elimino con ajax (jquery).
Los códigos para eliminar y crear son:
INSERTAR
Código:
ELIMINARcadena = session("pres") referencia = rq("ref") imagen = rq("url") tipo = rq("tipo") poblacion = rq("pob") ncadena = referencia & "@;" & imagen & "@;" & tipo & "@;" & poblacion & "@;;;" cadena = cadena & ncadena if cInt(session("nInmuebles")) < 3 then session("pres") = cadena session("nObjetos") = cInt(session("nInmuebles")) + 1 response.Write "OK_" & session("nObjetos") else response.Write "KO_" & session("nObjetos") end if
Código:
Ambas páginas mando en el onSucess OK o un KO, en caso de añadir producto mando OK_nObjetos o KO_nObjetos para actualizar el número de items de la tabla de productos.dim intPos, cadena, ncadena, intUltPos, linea,ref, registro cadena = session("prescripciones") ref = rf("referencia") intPos = instr(cadena,ref) if intPos > 0 then ncadena = mid(cadena,intPos,len(cadena)) intUltPos = instr(nCadena,"@;;;") registro = mid(ncadena,1,intUltPos+3) session("pres") = Replace(session("pres"), registro, "") session("nObjetos") = cInt(session("nObjetos")) - 1 response.Write session("nObjetos") end if
He leido que es mejor hacerlo con un webService para recoger los valores de las sessiones, es esto cierto?
El problema es que a veces no me actuliza la variable de sesion, es decir, si nObjetos es 2 le doy a añadir inmueble y aparentemente lo añade pero si actualizo la página no esta actualizado.
Lo que me descentra un poco es que a veces funciona bien y a veces se vuelve un poco loco... que no añade inmueble, que añade mas de los que deberia, etc...
Espero que sepan donde esta el error
saludos!!!