您的位置:首页 > 其它

推荐系统Easyrec学习日记--2015/02/14

2015-02-15 01:04 127 查看


今天情人节,一个人在家写代码真是太励志了,好了进入正题,最近真是太懒了,要坚持写文档三十年不动摇啊。。。

      
前几天主要学习了服务器建设,数据库等方面的内容,昨晚按照官方的安装文档(InstallationGuide
- Easyrec Wiki)折腾了一天,重装了两次,终于在我的PC上成功运行tomcat+mysql+easyrec,但由于不懂JavaScript,HTML等方面的知识,挣扎了一个晚上也没能把系统返回的json数据在网页上解析出来,于是曲线救国,用新学的swift语言开发一个小小的IOS应用来解析json数据。


      


      
插播①:IOS应用是在虚拟机上的Mac
OS 上开发的,那么问题来了,在虚拟机上如何访问我们的localhost呢?


      
只要把localhost改为主机IP即可,如:http://192.168.1.177:8090/


        
插播②:即使改成http://192.168.1.177:8090/在虚拟机还是无法访问怎么办?

      
先在控制台用ping命令
ping 192.168.1.177 看看有木有连上,连上的话,一般都是主机防火墙的问题了,把防火墙关了就能访问8090(你的可能是8080)端口,关了防火墙当然不安全,这时候你可以为防火墙添加规则来开放8090端口,具体操作百度一下http://jingyan.baidu.com/article/e9fb46e19ff8137521f7660c.html


 

      
插播完我们接着回来,今早起来看了很多示例,才大概把JavaScript、HTML搞懂一点点,能成功在网页上解析json数据并显示出来。网页代码如下:


      
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type" content="text/html;charset=utf-8" />

<title>firstTry</title>

<scriptsrc="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>

</head>

 

<body>

<divid="recommendation"></div>

<scriptlanguage="javaScript">

$(function(){         


 $.getJSON(

                           
"/easyrec-web/api/1.0/json/otherusersalsoviewed?apikey=51ae582aaeda938a57b697d17a02f84e&tenantid=EASYREC_DEMO&itemid=44",


                    
function(transport) {


                           
var json = eval(transport);


                           
var items = json.recommendeditems.item;


                           
if( "undefined" ==typeof(items.length) ) {


                                  
items = new Array(items);


                           
}


                           
if (items.length>0) {


                                  
$("#recommendation").html("<divclass='headline'>Other users also viewed...</div>");


                                  
for (x=0;x<5 && x<items.length;x++) {


                                  
$("#recommendation").append(


                                  
"<img width='50px'alt='" + items[x].description + "'"+


                                  
" src='" +items[x].imageUrl + "'/> "+


                                  
"<a href='" +items[x].url + "'>"


                                  
+ items[x].description +


                                  
"</a>" +


                                  
"<br/>");


                                  
}


                                  


                           
}


                    
}


             
);


      
});


</script>

</body>

</html>

 

插播③:<head></head>标签里面要引用这个

<scriptsrc="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>好像是百度什么什么的,应该是个工具库来的,要这个才能解析json

 

插播④:找到的模板是如下,关键是应用上面说的js,对于body里面的内容,应该先定义一个ID(是叫定义吗?没学过js…),再运行下面的js代码,这样就能给上面的ID赋值(是叫赋值吗?好吧,以后会好好学js的),至于具体的$符号的用法,建议百度,今早查文档学得只是皮毛,不敢分享。在Dreamweaver里面引用JS时,在JS代码区间打出符号$后,加个.或者(就能看到$可调用的方法,上面的代码主要涉及水平有限,只能帮到这了。

 

<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>     


      
<scriptsrc="http://apps.bdimg.com/libs/jquery/1.8.3/jquery.js"></script>     


</head>

<body>

<divid="divCustomers"></div>

<script>

$.getJSON("http://m.w3cschool.cc/try/ajax/jsonp.php?jsoncallback=?",function(data) {

      


      
var html = '<ul>';


      
for(var i = 0; i < data.length; i++)


      
{


             
html += '<li>' + data[i] + '</li>';


      
}


      
html += '</ul>';


      


      
$('#divCustomers').html(html);


});

</script>

</body>

 

</html>

 

插播⑤:这个网页编写完成后呢,请放在你本地服务器所在的文件夹如D:\Easyrec\apache-tomcat-6.0.43\webapps,webapps是根目录,在这里新建一个文件夹放进去即可,如新建一个tryEveryAPI文件夹,然后在浏览器里输入地址即可,如:http://localhost:8090/tryEveryAPI/刚刚那个网页名.html

 

晚上没有约会,只好上Easyrec官网继续学习。

之前的blog提过有三种调用方式,下面是两种,还有一种插件的迟些再学习

JS API调用:

http://easyrec.sourceforge.net/wiki/index.php/JavaScript_API_v0.98

 

Reset API
调用:


http://easyrec.sourceforge.net/wiki/index.php/REST_API_v0.98

 

哈哈,先试的JS API,看起来很简单,结果,调用之后在Easyrec的管理界面没有看到变化,难道是一天才更新一次数据的?时间也不早了,留着明天再折腾吧。

万事开头难,继续加油就好。
最后感谢一下zhangxinrun_业余erlang,里面解析的代码和第一次尝试API的调用参考了他的blog
http://blog.csdn.net/zhangxinrun/article/details/7554794 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: