JSON调用返回[object object]或未定义
JSON call returns [object Object] or undefined
非常初级的问题。试图学习JSON和有问题,获得适当的返回数据。我试图使用JSON返回错误从php表单使用json_encode($errs, JSON_FORCE_OBJECT)
,但首先我想使下面的工作非常简单的代码来理解JSON对象。
我在这里查看了类似的线程,阅读了整个JSON.org文档,查看了JQuery的$. getjson()方法,并从文档中插入了确切的代码,以及JSON文档的确切代码,除了"未定义"或"[object, object]"之外,我似乎仍然无法得到响应。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<!---CSS-->
<link href="style/960.css" media="all" rel="stylesheet" type="text/css" />
<link href="style/pubstyle.css" media="all" rel="stylesheet" type="text/css" />
<!--- Javascript -->
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"
type="text/javascript"></script>
<script src="javascripts/form.js" type="text/javascript"></script>
<script src="javascripts/validate.min.js" type="text/javascript"></script>
<script src="javascripts/json2.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
var resp = {"message":"hi"};
$("a#button").click(function(resp) {
alert(resp)
});
});
</script>
<a id="button" href="#">Button</a>
</body>
</html>
上面的代码返回一个带有"[object object]"的警告。当我将代码改为:
$(document).ready(function() {
var resp = {"message":"hi"};
$("a#button").click(function(resp) {
alert(resp.message)
});
});
我得到一个"未定义"的警告。我试着把它放进一个数组对象
{ "messages": [ {"message":"hi"}]}
,用
resp.messages[0].message
调用它,没有运气。我尝试将内容类型更改为"应用程序/json"answers"文本/纯",但都不起作用。也试过
$(document).ready(function() {
var resp = jQuery.parseJSON('{"message":"hi"}');
$("a#button").click(function(resp) {
alert(resp.message)
});
});
你混淆了几个不同的元素。
一个简单的例子,基于你的问题中的最后一个代码块:
$(document).ready(function() {
var resp = $.parseJSON('{"message":"hi"}');
$('#button').click(function(event) {
alert(resp.message);
});
});
这个代码的版本不能工作,因为 click
回调函数接收点击事件对象作为它的参数。回调函数中的resp
参数名称遮蔽了resp
变量。
相关文章:
- 为什么“如果( !Object.property)“,如果 Object 未定义,则中断
- 为什么new object()创建的对象的原型未定义
- JQuery TypeError:对象未定义(length=object.length,)
- _id是未定义的,即使它's就在console.log(object)中
- Object.keys forEach 返回未定义
- 使用 Object.hasOwnProperty 与测试属性(如果属性未定义)的好处
- 从laravel控制器访问json/object到ajax调用时未定义错误
- IE 7/8问题-无法获取属性'id': object的值为空或未定义
- IE9错误:SCRIPT5007:无法获取属性'ajax': object为空或未定义的值
- 不能访问React对象状态上的object属性,即使它存在.返回未定义
- D3.js:在调用path-元素属性的函数中,生成一行和d-object是未定义的
- 无法获取属性'elementType': object为空或未定义
- jquery在Asp.net MVC中的验证错误-无法获取属性': object为空或未定义
- JSON调用返回[object object]或未定义
- 未定义的数组计数词:object
- javascript Blob Object 是未定义的
- 数组中.splice (+ loops) vs Delete Object[..]vs Object[…]=未定义
- 我不能从AJAX请求中提取JSON数组,有些返回未定义或[object object]
- 无法获取属性'0':object在IE7中为空或未定义的值
- CKEditor-无法设置属性'dir': object的值为空或未定义