Javascript uncatch Referenceerror,从 localStorage 检索数据时出错
Javascript Uncaught ReferenceError when retrieving data from localStorage
我编写的以下代码仅在localStorage值为整数或值仅由数字组成时才有效。我对Javascript相当陌生,所以答案可能就在我面前。
<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
处理器.php
if (isset($_POST['text']))
die($_POST['text']);
我做错了什么?感谢您阅读:)
更改
$("#test").append('<button onclick="senddata('+localStorage[key]+')">'+key+'</button>');
自
$("#test").append('<button onclick="senddata('''+localStorage[key]+''')">'+key+'</button>');
否则,它将尝试将未定义的变量bar
(sendata(bar)
)而不是字符串'bar'
(sendata('bar')
)发送。
数字文字是裸写的。例如123
但字符串文本始终需要单引号或双引号。例如。 'foo'
或"foo"
检查是否根据需要引用字符串文本。
另外,您是否尝试过调试?逐步浏览脚本,以准确查看正在发生和未发生的情况。您也可能在某个时候收到错误。
相关文章:
- 如何在corona sdk中从CK编辑器中检索数据
- XML2JSON并检索数据
- 如何基于两个下拉选择从数据库中检索数据
- 在检索数据时是否可以停止图像加载请求
- 正在从JSON对象检索数据
- 只有当Angular从资源对象检索数据时,才选择选项元素
- 如何使用JavaScript从文本框中检索数据
- html表单,它有文本和表,现在我想在一个简单的文本文件中保存和检索数据,如何实现它
- 我想使用纯Javascript从MS Dynamics CRM Online 2015添加/检索数据
- Firebase-正在从推送项目中检索数据
- 为什么可以't我从Json文件中检索数据
- 从 tinymce 文本区域检索数据时出现问题
- 从 ajax 函数从数据库中检索数据值
- 检索数据表中的指定行
- 调用c#函数从传递javascript变量的javascript中检索数据
- 使用jqueryAjax和php脚本从mysql检索数据时遇到的问题
- JQuery:从URL检索数据
- SharePoint 2010 Rest API错误(未检索数据)
- JQuery检索数据,但如果退出,则获取默认值
- jQuery,用于检索数据的变量