次のコードは、localStorageの値が整数の場合、または値が数字のみの場合にのみ機能します。それが答えは右の私の目の前にあることが可能ですので、JavaScriptを使用してかなり新しいイム..Javascript localStorageからデータを取得するときにキャッチされないReferenceError
<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>
次は、コンソール
Uncaught ReferenceError: bar is not defined
Uncaught ReferenceError: doe is not defined
14
12345
14
processor.php
に表示されたコードによって生成されたボタンを押しますif (isset($_POST['text']))
die($_POST['text']);
何が間違っていますか?読書:)それ以外の場合は、代わりに文字列'bar'
(sendata('bar')
)の未定義の変数bar
(sendata(bar)
)を送信しようとします
$("#test").append('<button onclick="senddata('+localStorage[key]+')">'+key+'</button>');
$("#test").append('<button onclick="senddata(\''+localStorage[key]+'\')">'+key+'</button>');
に