我是JavaScript,JQuery和Ajax编码的新手。 我使用JQuery $ .ajax方法来调用asyn REST调用。 不知何故,我无法接收HTTP响应JSON数据。
我可以看到以下警报结果。 alert(数据)方法结果是[Object Object] alert(data.toSource())方法结果是({“key1”,“value1”}) alert($。parseJSON(data))方法结果是什么
我在firefox和chrome浏览器中测试了以下代码。
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"</script>
</head>
<body>
<form id="foo">
<label for="bar">A bar</label>
<input id="bar" name="bar" type="text" value="" />
<input type="submit" value="Send" />
</form>
<!-- the result of the search will be rendered inside this div -->
<div id="result"></div>
<script>
$("#foo").submit(function(event) {
event.preventDefault();
$("#result").html('');
var values = $(this).serialize();
$.ajax({
url: "resources/helloWorld",
type: "GET",
dataType: 'json',
success: function(data){
alert(data);
alert(data.toSource());
var r = $.parseJSON(data);
alert(r);
$("#result").html(data);
},
error:function(){
$("#result").html('there is error while submit');
}
});
});
</script>
</body>
答案 0 :(得分:2)
从你的帖子:
alert(data) -> [Object Object]
是的,alert()
使用参数的字符串表示,data
是一个对象。
alert(data.toSource()) -> ({"key1","value1"})
是的,toSource()
是一种Gecko方法,可用作JSON.stringify
。
alert($.parseJSON(data)) method result is nothing
是的,您正在尝试解析一个对象。
你想做的事情可能是:
success: function(data){
$("#result").html(data.key1);
}