网办项目经验小结3-Ajax,获取URL参数

前端之家收集整理的这篇文章主要介绍了网办项目经验小结3-Ajax,获取URL参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

1:项目中,感觉这一句很有用:jsp中 String contextPath=request.getContextPath();

具体说明:

<a href="<%=request.getContextPath()%>/XXXX.jsp">
指的是根目录下的xxxx.jsp
假设你的要目录http://localhost:8080,
你现在访问的页面为http://localhost:8080/admin/manage.jsp
则<a href="<%=request.getContextPath()%>/XXXX.jsp">
指向的链接是:http://localhost:8080/xxxx.jsp
<a href="XXXX.jsp">链接的是当前jsp文件路径下的xxxx.jsp
上例指向的链接是:http://localhost:8080/admin/xxxx.jsp:


2:Ajax说明

ajax异步传输,并实现动态为页面动态增加控件的功能,这里可以直接使用jQuery获取网页控件,如$("#gov"),通过id获取控件

例子;

function ajaxLoadGovs() {
var ajaxUrl = contextPath+"/sxzc/queryServFolder/ajaxLoadGovs.action";
$.ajax({
url:ajaxUrl,
type:"GET",
dataType:"json",
beforeSend:function () {},
success:function (json) {
var target = document.getElementById("selectGovs");
for (var i = 0; i < json.length; i++) {
var everyData = json[i];
var optionNode = document.createElement("option");
optionNode.value = everyData.divisionCode;
optionNode.innerHTML = everyData.divisionName;
optionNode.selectvalue = everyData.divisionCode;
optionNode.selectType = everyData.type;
//var explore = userAgent();
//if( explore == 'chrome'){}
optionNode.onclick = function () {
//alert( this.selectvalue);
ajaxLoadOrgs(this.selectvalue,this.selectType);
};
target.appendChild(optionNode);
}
//
ajaxLoadOrgs(json[0].divisionCode,json[0].type);
},error:function (msg) {
alert("\u64cd\u4f5c\u53d1\u751f\u5f02\u5e38\uff01");
}});
}

$.ajax 的使用需要服务器端向前端传递数据,后端怎样向前端传递参数,以什么格式传递?

通常服务器端传递向前端的数据格式一般为 json。

参数 url参数类型为json,json类型实则为字符串的一种,后台有一种向前台传送参数的方法就是利用 HttpServletResponse向前台传值

getWriter方法Servlet引擎的数据缓冲区包装成PrintWriter类型的字符输出流对象后返回,PrintWriter对象可以直接输出字符文本内容

Servlet程序向ServletOutputStream或PrintWriter对象中写入的数据将被Servlet引擎获取,Servlet引擎将这些数据当作响应消息的正文,然后再与响应状态行和各响应头组合后输出到客户端。

这个是传参的方法

protected void writeToJson(String text)
{
try
{

protected HttpServletResponse response;
this.response.setContentType("text/plain;charset=gbk");
Writer writer = this.response.getWriter();
writer.write(text);
writer.flush();
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}



3: 通过名称获取URL参数

function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)","i");
var r = window.location.search.substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;

}

4: window.location.******说明

属性 描述
hash 从井号 (#) 开始的 URL(锚)
host 主机名和当前 URL 的端口号
hostname 当前 URL 的主机名
href 完整的 URL
pathname 当前 URL 的路径部分
port 当前 URL 的端口号
protocol 当前 URL 的协议
search 从问号 (?) 开始的 URL(查询部分)

5: 在方法中创建元素(如:form),并且在方法中完成此元素的功能(如:完成form的表单发送)。

function openWindowSubmitData(results){
hanUrl=results[0];
var handleForm = document.createElement("form");
handleForm.method="post";
handleForm.action=hanUrl;
handleForm.target="handleFrameName";
handleForm.id="handleFormId";
var inputHtml = document.createElement("input");
inputHtml.type="hidden";
inputHtml.name="infoStr";
inputHtml.id="infoStr";
inputHtml.value=results[1];
handleForm.appendChild(inputHtml);
$('#paddiv').append(handleForm);
openBox('handleDivId');
$('#handleFormId').submit();
$("#handleFormId").remove();
}


6: 网页中遇到 $('div','li') 这个事jQuery中的写法


这个写法没有错误,是选择li里面所有div 要搞清楚$('div','li') 和 $('div,li') 和 $('div li') 区别 $('div','li')是$(子,父),是从父节点里找子,而不是找li外面的div $('div,li')才是找所有的div和li,之间不存在父子关系 $('div li') 是找div里面所有li,包括子级,孙子级,总之就是div里面所有li,不管有几层关系

原文链接:https://www.f2er.com/ajax/163949.html

猜你在找的Ajax相关文章