我有一个validation.js文件
var name = $("#name");
$.ajax({
type: "get",
url: "test.jsp",
data: "name="+name,
success: function(msg) {
$('#result').hide();
$("#result").html(msg)
.fadeIn("slow");
}
});
test.jsp的
</head>
<body>
<h1><%
String user=request.getParameter("name");
out.print(user);
%></h1>
</body>
登录user.jsp文件
<form method="post" id="customForm" action="welcome.html">
<div>
<label for="name">Name</label>
<input id="name" name="name" type="text" />
<span id="nameimage"></span>
<span id="nameInfo"></span>
<p id="result"></p>
</div>
一旦用户进入我的表格中的下一个场地,我必须在我的表单中显示用户名。但是 它在p标签开始的位置显示[object Object]错误
答案 0 :(得分:12)
看起来像msg
并不是您所期望的。我想你想要msg.responseText
您看到[object Object]的原因是因为msg
属于object类型,您将其传递给.html
,它会将其转换为字符串。因此html填充了对象的字符串表示,在这种情况下是“[object Object]”
答案 1 :(得分:5)
您需要传递#name对象的值或文本。像这样:
var name = $("#name").val();
var name = $("#name").text();
答案 2 :(得分:0)
msg
似乎是一个文档对象,而不是包含相应名称的字符串。在我看来,你想要$('#response').text($(msg).find('h1').text());
答案 3 :(得分:0)
当您使用锚标记时,旧的IE期望在某处重定向。如果您有以下内容:
<a href="javascript: submit()">Submit</a>
即使[Object object]
使用了ajax,IE也会在使用JSON时显示带submit()
的空白页。
您可以使用onClick或javascript:void sumbit()
,如下所示:
<a id="btn-submit">Submit</a>
<script>
$(document).on('click', '#btn-submit', function(event){
event.preventDefault();
submit();
});
</script>
我没有测试无效解决方案,但我的同事说这是他使用的那个。