jsp中利用jquery+ajax在前後台之間傳遞json格式參數_JSP編程

來源:互聯網
上載者:User
經過一段時間的實驗琢磨,終於將前後台之間的參數傳遞搞定了,實驗所用工具myeclipse+structs1.2。

總結:容易出錯的地方:1.ajax中data的格式一定要寫對,這裡舉了兩種形式,一種是 data:{參數:“”} 另一種是 data:“參數=”+變數。

2.後台傳遞到前台資料轉化為json格式,步驟要掌握好。

3.在js使用jquery必須要引用進來,否則會不執行jquery語句,這個問題困擾了我半天才解決掉,菜鳥的悲哀啊。jquery引用流程如下:網上下載jQuery.js,jquery-1.4.2.min.js兩個js檔案,放在webroot下的檔案夾js中,引用代碼如下:

<script src="<%=path%>/js/jQuery.js" language="javascript"type="text/javascript"></script>

<script src="<%=path%>/js/jquery-1.4.2.min.js" language="javascript"type="text/javascript"></script>

其中<%=path%>就代表了根目錄wenroot檔案目錄。

4.ajax的url路徑必須要寫對。

5.當前台沒有傳遞參數到後台時,data可以不用寫,或用data:{}代替。

前台代碼如下:
複製代碼 代碼如下:

<span style="white-space:pre"> </span>var checkValue=$("#s1").val();

複製代碼 代碼如下:

<span style="white-space:pre"> </span>//這個var是擷取的id問s1的select選擇的opention值
$
.ajax({
type : "post",
url : "getShowDataList.do",
async : true,
//data:{data:""},這種也可以
data :
"filepath="+checkValue

複製代碼 代碼如下:

<span style="white-space:pre"> </span>//data:中的是傳遞到背景資料,這裡資料格式為json格式
,
dataType : "json",
error : function() {
//alert(checkValue);
alert('載入失敗!');
},
success : function(json) {

複製代碼 代碼如下:

<span style="white-space:pre"> </span>//這裡的json是後台傳遞過來的資料,這裡資料格式也是json格式

前台擷取背景json格式list資料集,這段寫在function中
複製代碼 代碼如下:

var points = [];//建立數組
for ( var i = 0; i < json.length; i++) {

var str = new OpenLayers.LonLat(json[i].lon,
json[i].lat);
points.push(str);

}

後台代碼:
複製代碼 代碼如下:

public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {

String filepath = request.getParameter("filepath");

複製代碼 代碼如下:

<span style="white-space:pre"> </span>//擷取前台傳遞過來的filepath
System.out.println(filepath);

List<Show> datalist = getShowData(filepath);

response.setContentType("appliction/json;charset=utf-8");
JSONArray jsonArray = JSONArray.fromObject(datalist);

複製代碼 代碼如下:

try {

PrintWriter out = response.getWriter();
out.print(jsonArray);
for (int i = 0; i < jsonArray.size(); i++) {
System.out.println(jsonArray.get(i));
}
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.