如何通过ajax将json值从jsp传递给javascript作为对象? 我不能在jsp中使用全局js变量,因为这会导致json内容在页面源中可见
以下是我想要实现的方案:
从上面的场景中,我知道javascript必须启动对jsp的ajax调用。 这个问题,jsp的代码将被调用2次:
约束:没有jquery,没有其他lib,没有servlet,没有额外的jsps。 :(
编辑:
还有一个问题,我需要将多个 json对象传递给javascript
我无法用response.getWriter().write();
我不认为连接所有json对象并发送是正确的解决方案。
在javascript http.responseText
中解析收到的对象将是压倒性的。
答案 0 :(得分:0)
为什么你需要ajax?如果你知道你需要从服务器填充一些东西到jsp页面,你可以通过scriplets本身来做到这一点:
EX
<%@ page import="com.mypackage.PersonDAO" %>
<html>
<body>
<table>
<th>Name</th><th>Email</th><th>Contact</th>
<%
List<Person> myList = PersonDAO.getAllPersons();
for(Person person:myList)
{
%>
<tr>
<td><%=person.getName()%></td>
<td><%=person.getEmail()%></td>
<td><%=person.getContact()%></td>
</tr>
<%}%>
</table>
</body>
</html>
这是一个非常简单的例子。您可以使用JSTL .. :)执行更复杂的操作。
所以没有jquery,没有Servlet,没有ajax,没有额外的jsp:)
<强>更新强>
由于在页面加载之前需要javascript中的数据,因此可以使用jQuery的holdReady()方法。
$.holdReady( true );
$.get( url, function() {
// Perform something
$.holdReady( false );
});
请参阅但是所有现代浏览器都有开发人员工具,如firebug for mozilla,因此任何ajax调用都会被他们捕获。你可以保护它们的唯一方法是加密它们......这会让你感到复杂......如果你能解释你想要实现的场景,我可以想出来......