【发布时间】:2014-05-09 05:10:03
【问题描述】:
我正在尝试创建 Lift 聊天服务器。我直接从与 Lift 的主网站链接的 Lift 书中获取了所有内容。运行它后,我无法提交消息,因为 liftAjax 未定义并导致我的 chrome 控制台中出现错误。
如果我错了,请纠正我,但 Lift 不应该在启动网站时生成 liftAjax 内容吗?我觉得我可以自己从某个来源导入 liftAjax,它会起作用,但我觉得我不应该这样做。
这是我的 index.html 文件。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>Home</title></head>
<body class="lift:content_id=main">
<div id="main" class="lift:surround?with=default;at=content">
<!-- the behavior of the div -->
<div class="lift:comet?type=Chat">Some chat messages
<ul>
<li>A message</li>
<li class="clearable">Another message</li>
<li class="clearable">A third message</li>
</ul>
</div>
<div>
<form class="lift:form.ajax">
<input class="lift:ChatIn" id="chat_in" />
<input type="submit" value="Say Something" />
</form>
</div>
</div>
</body>
</html>
这是生成的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<div id="main" xmlns="http://www.w3.org/1999/xhtml">
<!-- the behavior of the div -->
<div id="F156429460218VSI1GX_outer" style="display: inline">
<div id="F156429460218VSI1GX" style="display: inline">
<div xmlns="http://www.w3.org/1999/xhtml">Some chat messages
<ul>
<li></li>
</ul>
</div><script type="text/javascript">
// <![CDATA[
/* JSON Func comet $$ F156429460221QEXVXK */function F156429460221QEXVXK(obj) {liftAjax.lift_ajaxHandler('F156429460221QEXVXK='+ encodeURIComponent(JSON.stringify(obj)), null,null);}
// ]]>
</script></div><script type="text/javascript">
// <![CDATA[
var destroy_F156429460218VSI1GX = function() {}
// ]]>
</script></div>
<div>
<form id="F156429460223BHVYIM" action="javascript://" onsubmit="liftAjax.lift_ajaxHandler(jQuery('#'+"F156429460223BHVYIM").serialize(), null, null, "javascript");return false;">
注意:错误发生在上面一行
<input name="F1564294602245ECYAU" id="chat_in" xmlns="http://www.w3.org/1999/xhtml" />
<input value="Say Something" type="submit" xmlns="http://www.w3.org/1999/xhtml" />
</form>
</div>
</div>
我只是不确定是什么原因造成的。我刚开始学习Lift,所以我不太了解。我错过了什么吗?
如果您需要更多信息,例如 build.sbt 或其他文件,请告诉我,我也可以发布它们。
【问题讨论】:
-
对不起,我不知道lift,但是为什么这里有一个scala标签?
-
实在不清楚你遇到了什么问题。你期待发生什么?你觉得 HTML 应该是什么样子的?另外,您是否收到任何具体的错误消息?
-
@skiwi,Lift 是一个基于 Scala 的 Web 框架,这可能就是它被标记为
scala的原因。虽然他没有在问题中发布任何代码,但我想答案最终可能会利用它。