在这个ajax调用中,我正在调用一个servlet,我在其中设置了一个属性值。
现在,一旦我收到响应,我正在尝试获取属性的值。
我正在努力争取getAttribute
价值代码。
<script type="text/javascript">
$('#PartNo').keypress(function(event){
var keycode = (event.keyCode ? event.keyCode : event.which);
if(keycode == '13'){
varPartCode = $('#PartNo').val();
$.ajax({
type: "Post",
url: "submit",
data: "PartCode="+varPartCode,
success: function(result){
alert($(this).attr("DescAttr"));
}
});
}
});
</script>
我从网上获得了以下功能。但它没有用。请求您的帮助。
$(this).attr("DescAttr")
下面是我在servlet中设置属性值的代码。
String varPartDescription = descBean.getPartDescription();
request.setAttribute("DescAttr",varPartDescription);
答案 0 :(得分:3)
this
不是HTML元素。将它作为参数传递给jQuery函数是没有意义的。
Java属性与HTML属性无关。在Java请求对象上设置属性不会将任何数据提供给浏览器。
您需要将数据放入响应中,然后将其从参数读取到您已命名为result
的JavaScript中的成功函数。
例如(我不做Java,所以我只是从the first tutorial I found on Google中删除了它):
res.setContentType("text/plain");
PrintWriter pw=res.getWriter();//get the stream to write the data
pw.println(descBean.getPartDescription());
和
success: function(result){
alert(result);
}
对于更复杂的数据,请考虑输出JSON。