Aşağıdaki kod yazıldığında, yalnızca localStorage değeri bir tamsayı olduğunda veya değer yalnızca rakamlardan oluştuğunda çalışır. bu cevap doğru önümde olması mümkündür, böylece JavaScript ile oldukça yeni Im ..Javascript Yakalanmamış ReferenceError localStorage öğesinden alınırken hata oluştu
<html>
<body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<div id="test"></div>
</body>
</html>
<script type="text/javascript">
localStorage.setItem('test', '12345');
localStorage.setItem('foo', 'bar');
localStorage.setItem('john', 'doe');
localStorage.setItem('carl', 14);
var name, content;
for (var key in localStorage) {
$("#test").append('<button onclick="senddata('+localStorage[key]+')">'+key+'</button>');
}
function senddata(content) {
$.post("processor.php",
{text: content},
function(response){
console.log(response);
}
);
}
</script>
aşağıdaki konsola
Uncaught ReferenceError: bar is not defined
Uncaught ReferenceError: doe is not defined
14
12345
14
processor.php
görünen kod tarafından oluşturulan düğmelerine basarakif (isset($_POST['text']))
die($_POST['text']);
Neyi yanlış yapıyorum? okuma :) aksi takdirde yerine dize 'bar'
(sendata('bar')
) ait tanımsız değişken bar
(sendata(bar)
) göndermeyi dener
$("#test").append('<button onclick="senddata('+localStorage[key]+')">'+key+'</button>');
$("#test").append('<button onclick="senddata(\''+localStorage[key]+'\')">'+key+'</button>');
için