最近在做一个web平台。按照表示层、逻辑功能层、数据层三层架构设计。

表示层,即web界面由一个专门做前端的同学写的。


这里主要说的是逻辑功能层和表示层联合的问题。界面主要由js代码控制,逻辑功能主要由php写成,这里需要用js 用get和post的方法将一些参数数据发给php,php解析数据,完成功能,然后将结果用json格式返回。

1.涉及到的js代码:

$.getJSON("./xuxueliang/update_user_data.php",request,function(response){
     if(response.status !=5) alert("error!");
});

上面是最简单的一个get方式。

2 需要具体解析返回data的时候



$.getJSON("./xuxueliang/get_well_para.php",request,function(response){
             $.each(response, function(i) {
                 var Container;
                 if(i > 1 && i<=4)
                     Container = $("#instrument_data");
                 else if(i > 4 && i <= 14)
                     Container = $("#electrical_para");
                 else if(i > 14 && i<19)
                     Container = $("#control_para");
                     Container.append("<tr> <td align='center'>"+response[i].name_ch+"</td> <td align='center'>"+response[i].value+"</td><td id='"+response[i].name_en+"'ali
    gn='center'><a href='#'>View</a></td></tr>");
 54             });



3.另外之前对前端和js不太熟,所以用js的时候查了一些函数,在这里备忘一下吧:

按钮点击后调用js代码:

<input name=""id="button2" type="button"     :reset()" value="重置"/>


4.js跳转网页:

window.location.href='user_description.php?username='+username;

5.document.getElementById()用到几个方法:

document.getElementById().value

document.getElementById().innerHTML

document.getElementById().checked   (ratio)


6.js数组

var arr=[["Jul 15, 2013 00:00",5],["Jul 15, 2013 12:00",9],["Jul 16, 2013 00:00",2],["Jul 16, 2013 12:00",13],["2013-07-17 00:00",10]];/
arr.push([response[i].date , response[i].num]);


7.js操作select标签

存储标签所有option | 获取选中的option , 添加option

if($("select#selected_list2 option").length>0){
             $("select#selected_list2 option").each(function(){
                user[i] = $(this).val();
                i++;
             })
        }
var obj1 = document.getElementById("manager");
var index1 = obj1.selectedIndex;
var managerID = obj1.options[index1].value;
$("select#manager").append("<option value='"+response.data[j].username+"'>"+response.data[j].realName+"</option>");

8.str的replace


varquiztable="<table width=\"100%\" border=\"0\" class=\"quiz\" id=\"#{seqno}\"><tr><td>#{seqno}.#{seqcon}:(&nbsp;<span class=\"chosenRadio\">#{mychosen}</
span>&nbsp;)</td></tr><tr><td class=\"choice\"><input type=\"radio\" name=\"RadioGroup#{seqno}\"  value=\"A\" />A.#{choiceA}</td></tr><tr><td  class=\"choice\"><input type
=\"radio\" name=\"RadioGroup#{seqno}\"  value=\"B\" />B.#{choiceB}</td></tr><tr><td  class=\"choice\"><input type=\"radio\" name=\"RadioGroup#{seqno}\" value=\"C\" />C.#{c
hoiceC}</td></tr><tr><td  class=\"choice\"><input type=\"radio\" name=\"RadioGroup#{seqno}\"  value=\"D\" />D.#{choiceD}</td></tr></table>";
vartablexx=quiztable.replace(/#{seqno}/g,i+1).replace(/#{seqcon}/g,response.data[i].quizContent).replace(/#{choiceA}/g,response.data[i].choiceB).repla
ce(/#{choiceB}/g,response.data[i].choiceB).replace(/#{choiceC}/g,response.data[i].choiceC).replace(/#{choiceD}/g,response.data[i].choiceD).replace(/#{mychosen}/g,"&nbsp;")
;


9.js获取url,识别字符串

varurl=window.location.href;
if(url.indexOf("Admin") != -1)

以后有需要备注的再进行补充吧