ajax在myeclipse中访问后台数据
我用AJAX访问后台,一直报XMLHttpRequest:400错误,网上有些人说是url问题,实在不知道怎么配置了,求大神
这是我的前台代码
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<script type="text/javascript" src="http://www.mindsc.com/up/index_img/js/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function test(){
alert("I am in");
$.ajax({
type:"POST", //请求方式
url:"/servlet/TestJson",//请求路径
cache: false,
data:"name=zah", //传参
dataType: 'json',//返回值类型
error: function(XMLHttpRequest, textStatus, errorThrown) {
alert(XMLHttpRequest.status);
alert(XMLHttpRequest.readyState);
alert(textStatus);
},
// error:function(){alert("connection error!!");},
success:function(json){
alert(json[1].username+" "+ json[1].password);//弹出返回过来的List对象
}
});
}
function hello()
{
alert("hello");
}
</script>
</head>
<body>
这是我要访问的那个后台类
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class TestJson extends HttpServlet {
/**
* Constructor of the object.
*/
public TestJson() {
super();
}
/**
* Destruction of the servlet. <br>
*/
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
/**
* The doGet method of the servlet. <br>
*
* This method is called when a form has its tag value method equals to get.
*
* @param request
* the request send by the client to the server
* @param response
* the response send by the server to the client
* @throws ServletException
* if an error occurred
* @throws IOException
* if an error occurred
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
String str = request.getParameter("name");// 得到ajax传递过来的paramater
System.out.println(str);
PrintWriter out = response.getWriter();
List list = new ArrayList();// 传递List
// Map m=new HashMap();//传递Map
User u1 = new User();
u1.setUsername("zah");
u1.setPassword("123");
User u2 = new User();
u2.setUsername("ztf");
u2.setPassword("456");
list.add(u1); // 添加User对象
list.add(u2); // 添加User对象
// m.put("u1", u1);
// m.put("u2", u2);
JSONArray jsonArray2 = JSONArray.fromObject(list);// 转化成json对象
// JSONObject jo=JSONObject.fromObject(m);//转化Map对象
out.print(jsonArray2);// 返给ajax请求
System.out.println(jsonArray2);
// out.print(jo);//返给ajax请求
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException
* if an error occurs
*/
public void init() throws ServletException {
// Put your code here
}
}
<input type="button" name="b" value="测试" onClick = "test()" >
</body>
</html>
这是myeclipse中各个文件的位置
[img=https://img-bbs.csdn.net/upload/201411/04/1415082140_381576.png]
大神救命,在线等