日期:2014-05-17  浏览次数:20782 次

(Struts2+JSON+Ajax) XMLHttpRequest ==500怎么解决?
本帖最后由 zjlisok 于 2013-01-29 02:00:05 编辑
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").html(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

------解决方案--------------------
服务器代码错误。
最好发一下服务器端的报错原因。。
你这是把action当servlet用是么?
------解决方案--------------------
先把服务器端报的异常贴出来看看
------解决方案--------------------
引用:
引用:服务器代码错误。
最好发一下服务器端的报错原因。。
你这是把action当servlet用是么?
完全没有异常,就是XMLHttpRequest.status==500

500服务器内部错误,你是不是把异常给抛出了?
你把你的控制台截个图我看看。。
------解决方案--------------------
500错误是后台出错  我也遇见过  你进行调试就可看得到  哪里出错了
-