2015-05-11 4 views
0

Я отправки и получения некоторых данных с этим AJAX вызова и сохранение результата в LocalStorage так:LocalStorage в PHP переменной

$.ajax({ 
    url: "list.php", 
    data: {values: values}, 
    dataType: "json", 
    success: function(result){ 
    var dataToStore = JSON.stringify(result); 
    localStorage.setItem('key', dataToStore); 
    } 
}); 

Тогда я извлечения его в отдельный PHP документ, как это и пытается добавить к переменной PHP. Я думаю, что проблема возникает, потому что когда я console.log, он регистрируется 10 раз или около того. И я не могу повторить его в PHP. Как передать его правильно?

<script> 
var localData = JSON.parse(localStorage.getItem('key')); 

$.each(localData, function(key, value){ 
console.log("This is the data that is stored", localData) 
$.ajax({ 
type: 'post', 
     data: {localData}, 
     dataType: "json", 
     success: function(result){ 
     console.log(result) 
     } 

     }); 
</script> 

<?php 
$user_id = isset($_POST['localData'])?$_POST['localData']:""; 
$verdier = implode(", ", $user_id); 
?> 

ответ

2

Вы вызываете asynchronous functionality Аякса() реальная боль, вызвав его в петле

Почему бы вам не использовать join() присоединиться элементами с ", " в JS, как то, что вы делаете в PHP

<script> 
var localData = JSON.parse(localStorage.getItem('key')).join(", "); 


$.ajax({ 
type: 'post', 
     data: {localData}, 
     dataType: "json", 
     success: function(result){ 
     console.log(result) 
     } 

     }); 
</script> 

<?php 
$user_id = isset($_POST['localData'])?$_POST['localData']:""; 
$verdier = $user_id; 
?> 

Вы также должны бросить user _id как (INT), если user_id должны быть одно значение и Int

$verdier = (int) $user_id; 
+0

@ Это дает мне ошибку в сценарии jquery. «TypeError: invalid» в «operand a» –

+0

@ ØyvindHjartnes эта ошибка не связана с его скриптом, у вас нет цикла foreach здесь –

+0

просто примечание стороны: если это int (поскольку это идентификатор), это было бы хорошо идея использовать его как '(int)', так как данные localStorage можно легко манипулировать клиентом, и поэтому, поскольку такие данные могут использоваться в будущих запросах (а может и нет), это может быть немного опасно, чтобы позволить клиент, чтобы свободно отправлять данные на сервер. – briosheje

Смежные вопросы