2012-07-27 25 views
0

我有一個JSP文件,我在其中聲明瞭一個返回json的方法。現在我想使用ajax在js文件中獲取這個json。但是當我使用AJAX調用返回全JSP頁面,而不是JSON數據 的,這裏是我的jsp從JSP方法獲取json數據到JS

<%-- 
    Document : index 
    Created on : Jul 26, 2012, 3:49:33 PM 
    Author  : tagit 
--%> 
<%@page import="net.sf.json.JSONObject"%> 
<%@page import="my.mychartData"%> 
<%@page import="my.mychartInfo"%> 
<%@page import="my.mychart"%> 

<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
    "http://www.w3.org/TR/html4/loose.dtd"> 

<html> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
     <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
     <script type="text/javascript" language="javascript"> 
     </script> 
    </head> 
    <body> 
<%! 
Object showchart() 
{ 
mychartInfo c1 =new mychartInfo(); 
mychartInfo c2=new mychartInfo(); 
mychartInfo c3=new mychartInfo(); 
mychartInfo c4=new mychartInfo(); 
mychartInfo c5=new mychartInfo(); 
mychartInfo c6=new mychartInfo(); 
mychartData c7=new mychartData(); 

c1.setColor("pink"); 
c1.setDataDes("Gas data"); 
c1.setDataVal("20"); 
c1.setName("Gas"); 
c2.setColor("green"); 
c2.setDataDes("cash data"); 
c2.setDataVal("30"); 
c2.setName("Cash"); 
c3.setColor("blue"); 
c3.setDataDes("Resturent data"); 
c3.setDataVal("38"); 
c3.setName("Resturent"); 
c4.setColor("blue"); 
c4.setDataDes("boat data"); 
c4.setDataVal("60"); 
c4.setName("Boat"); 
c5.setColor("black"); 
c5.setDataDes("Movies data"); 
c5.setDataVal("40"); 
c5.setName("Movies"); 
c6.setColor("yello"); 
c6.setDataDes("Shopping data"); 
c6.setDataVal("50"); 
c6.setName("Shopping"); 
c7.setDonut("30"); 
c7.setFont("afdafafafafaf"); 
c7.setGradientPos("leftsdgd"); 
mychart chart1=new mychart(); 

Object obj =chart1.addChart(c1, c2, c3, c4, c5, c6, c7); 
return obj ; 
} 
%> 

    <% 
    out.println(showchart()); 
    %> 
    %> 
    </body> 
</html> 

,這是我的AJAX功能

$.ajax({ 
     type: "get" 
     ,dataType: "json" 
     , url: "http://localhost:8080/Webcharts/index.jsp;" 
     ,success: function(json){ 
     alert("here"+json); 

} 
}); 

回答

0

不要寫在JSP任何HTML代碼。設置contentType。

您需要將對象序列化爲JSON。它不會自動執行。

恕我直言,它更好地完成了一個servlet。

+0

謝謝你能幫我一些例子代碼,這將是非常有益 – Avee 2012-07-27 12:00:04

+0

@Avee谷歌是一個很好的朋友,請搜索網絡,你會發現很多的例子。謝謝 – 2012-07-27 16:25:40