XMLHttpRequest.status==500奇怪了,搞了半天还没有解决。
朋友们请帮我一把,谢谢!
废话不说,先上代码
JS代码:
var xmlhttp;
//ajax方法
function createXMLHttpRequest(){
if(window.ActionXObject){
xmlhttp=new ActionXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}
alert("ajax启动");
}
//showList()
function showList(){
createXMLHttpRequest();
xmlhttp.open("GET","getList.action?date="+new Date().getTime(),true);
xmlhttp.onreadystatechange = returnListString;
xmlhttp.send();
alert("showList启动");
}
//从action取回数据
function returnListString(){
if(xmlhttp.readyState==4){
alert("xmlhttp.readyState==4");
alert("xmlhttp.status"+xmlhttp.status);
if(xmlhttp.status==200){
var returnJsonString = xmlhttp.responseText;
var jsonString=JSON.parse(returnJsonString);
var showString="";
for(var i=0;i<jsonString.length;i++){
showString+=jsonString[i]+"\n";
}
alert(showString);
$("#show")(showString);
}
}
}
Action:
public class UrlString extends ActionSupport {
public void listString() throws IOException{
List list = new ArrayList();
list.add("zjl");
list.add("123");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println("jsonArray="+jsonArray.toString());
ServletActionContext.getResponse().setContentType("text/html");
ServletActionContext.getResponse().setCharacterEncoding("utf-8");
ServletActionContext.getResponse().getWriter().printf(jsonArray.toString());
ServletActionContext.getResponse().getWriter().flush();
ServletActionContext.getResponse().getWriter().close();
}
}
status.xml:
<package name="actionToAjax" extends="json-default">
<action name="getList" class="com.controller.UrlString" method="listString">
</action>
</package>
xmlhttprequest struts ajax json action
先把服务器端报的异常贴出来看看500服务器内部错误,你是不是把异常给抛出了?
你把你的控制台截个图我看看。。500错误是后台出错 我也遇见过 你进行调试就可看得到 哪里出错了
------解决方案--------------------------------------------------------服务器代码错误。
最好发一下服务器端的报错原因。。
你这是把action当servlet用是么?