ich benötige Cookies für die Client Server Kommunikation.
Mit SpiderBasic kann ich Client seitig mittels Javascript ein Keks speichern und auch wieder lesen.
Mit PureBasic kann ich Server/CGI ebensfalls ein Cookie mitschicken (WriteCGIHeader(#PB_CGI_HeaderSetCookie, ..)
Aber wie schaffe ich es jetzt, dass der Browser bei jedem Ajax Request das Cookie wieder mitsendet?
Code: Alles auswählen
#SpiderBite_Profile = "default"
;{ CGI
EnablePbCgi
#CGI_SUCCESS = "[success]"
ProcedureDll.s CGI_HoleDaten()
Protected Result.s, k
For k = 0 To CountCGICookies()-1
Result + CGICookieName(k)+": " + CGICookieValue(CGICookieName(k)) + #CRLF$
Next
ProcedureReturn Result
EndProcedure
ProcedureDll.s CGI_HoleDaten2()
ProcedureReturn CGI_HoleDaten()
EndProcedure
ProcedureDll.s CGI_Login (txt.s="")
WriteCGIHeader(#PB_CGI_HeaderSetCookie , "sessionid_1=" + txt)
ProcedureReturn #CGI_SUCCESS
EndProcedure
DisablePbCgi
;}
Procedure SetCookie(name.s, value.s)
! document.cookie = v_name + "=" + v_value + "; path=/;"
EndProcedure
Procedure CGI_HoleDaten2Callback( success, Result.s )
Debug "CGI_HoleDaten2 Result: " + Result
EndProcedure
Procedure CGI_HoleDatenCallback( success, Result.s )
Debug "CGI_HoleDaten Result: " + Result
SetCookie("sessionid_2", "xyz")
CGI_HoleDaten2()
EndProcedure
Procedure CGI_LoginCallback ( success, Result.s )
Debug "CGI_Login Result: " + Result
CGI_HoleDaten()
EndProcedure
CGI_Login ("abcdefg")
Wenn dann als nächstes CGI_HoleDaten() aufgerufen wird, wird aber kein Cookie mitgesendet.
Dann SetCookie("sessionid_2", "xyz") im Browser. Laut Debugger im Web-Speicher vorhanden, bis zum Sitzungsende.
Wird aber nicht mitgesendet.
Die Webseite läuft über : http://127.0.0.1:82/SpiderBasic_Compilation0.html
Der CGI Aufruf über : http://127.0.0.1:4001/cgi-bin/PbCgi.exe
Ich verstehe es nicht
Kann mich mal jemand bitte richtig rum aufs Pferd setzen?