PHP and Javascript JSON.stringify in localstorage and convert it into JS object? -
lets have simple php echo's/prints this:
[['staff', 'somewhere', 'map-marker-icon.png'], ['chinese', 'london', 'map-marker-icon.png'], ['trade', 'essex', 'map-marker-icon.png'], ['fare', 'london', 'map-marker-icon.png'], ]   i whatever php echo's on html page using ajax , stores them in localstorage using stringify.json so:
$.ajax({ type: "post", url: "my-php-page.php", data: datastring, crossdomain: true, cache: false, beforesend: function(){}, success: function(data){  localstorage.setitem('mapmarkers', json.stringify(data)); } });   i ajax response (data) stored in localstorage , can see there being stored.
now, next step i'm trying same localstorage value , use javascript object.
so went ahead , did in html page after localstorage set above:
var locations = json.parse(localstorage.getitem('mapmarkers')); alert(locations);   the issue i'm having when alert(locations); null in alert box!
but can see localstorage being stored in browser!
this see in localstorage:
value:
"\r\n[['staff', 'somewhere', 'map-marker-icon.png'], ['chinese', 'london', 'map-marker-icon.png'], ['trade', 'essex', 'map-marker-icon.png'], ['fare', 'london', 'map-marker-icon.png'], ]   json
    0         "     "      1         "\n"      2         "["      3         "["      4         "'"      5         "s"      6         "t"      7         "a"  etc etc......          "]"   could please advise on issue have been spending on 2 days trying figure out no luck @ all.
any appreciated.
edit
okay, seems drawing board keep updating question make nice tutorial others too:
okay, tried change php this:
$return_arr = array(); $sql = "select * restaurants"; if ($result = mysqli_query($db, $sql )){     while ($row = mysqli_fetch_assoc($result)) {     $row_array['id'] = $row['id'];     $row_array['location'] = $row['location'];     $row_array['name'] = $row['name'];     $row_array['type'] = $row['type'];      array_push($return_arr,$row_array);    }  }  mysqli_close($db);  echo json_encode($return_arr);   this prints this:
[{"id":"1","location":"fitzrovia","name":"staff welfare","type":"indian"},{"id":"2","location":"soho, london","name":"perfect chinese","type":"chinese"},{"id":"3","location":"southend-on-sea, essex","name":"fare trade","type":"kebab"},{"id":"5","location":"soho, london","name":"fare trade","type":"kebab"}]   the first thing noticed {} instead of []....
mainly because need javascript object this:
   [['staff', 'somewhere', 'map-marker-icon.png'], ['chinese', 'london', 'map-marker-icon.png'], ['trade', 'essex', 'map-marker-icon.png'], ['fare', 'london', 'map-marker-icon.png'], ]   withdout "id":...,"location":.. etc etc.....
i don't know if use {} in javascript! so, advise on grand.
the second thing did changed ajax code in html this:
    $.ajax({     type: "post",     url: "my-php-page.php",     data: datastring,     crossdomain: true,     cache: false,     beforesend: function(){},     success: function(data){      localstorage.setitem('mapmarkers', json.stringify(data)); var locations = json.parse(localstorage.getitem('mapmarkers'));  alert(locations);      }     });   this in alert box inside ajax success:
[{"id":"1","location":"fitzrovia","name":"staff welfare","type":"indian"},{"id":"2","location":"soho, london","name":"perfect chinese","type":"chinese"},{"id":"3","location":"southend-on-sea, essex","name":"fare trade","type":"kebab"},{"id":"5","location":"soho, london","name":"fare trade","type":"kebab"}]   i don't think that's correct since not json.parse(...); string!
any advise on how proceed here appreciated.
 
 
  
Comments
Post a Comment