首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

struts jquery ajax 总是进入error方法

2012-10-21 
struts jquery ajax 老是进入error方法跪求大仙指导!!!index.jsJScript code$(#aaa).click(function (){

struts jquery ajax 老是进入error方法
跪求大仙指导!!!
index.js

JScript code
$("#aaa").click(function (){    alert("0000================");$.ajax({    url:'http://localhost:8080/Public_Bicycle_System/allSite.action',    type:'post',    data:'',    dataType:'json',    success:function(msg){            $(msg.bicycleSites).each(function(i,value){            alert(+"==========");            /*var point = new BMap.Point(value.lat_Long.x, value.lat_Long.y);            var marker = new BMap.Marker(point);            map.addOverlay(marker);    */        }                );    },    error:function(mm){        alert("message error");        ob=eval(mm);        var pro = "";        for(var i in ob){            pro+=i+"\n";        }        alert(pro);        alert(mm.getAllResponseHeaders);    }});});

index.jsp
HTML code
<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta name="viewport" content="initial-scale=1.0,user-scalable=no"/><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/><title>Insert title here</title><link href="file/css/index.css" rel="stylesheet" type="text/css"><script src="file/javascript/jquery/jquery.min.js"></script><script type="text/javascript" src="http://api.map.baidu.com/api?v=1.3"></script></head><body><div id="title"><input type="button" id="aaa" value="sfsffs"/></div>

struts.xml
XML code
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"    "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.enable.DynamicMethodInvocation" value="false" />    <constant name="struts.devMode" value="true" />    <package name="default" namespace="/" extends="json-default">        <!-- 当页面刚加载时用ajax请求 -->        <action name="allSite" class="com.pbs.action.BicycleSiteAction">             <result name="users" type="json"></result>        </action>        <action name="allSite" class="com.pbs.action.BicycleSiteAction">             <result name="users">/success.jsp</result>        </action>    </package></struts>

BicycleSiteAction.java
Java code
package com.pbs.action;import java.util.List;import org.apache.struts2.json.annotations.JSON;import com.opensymphony.xwork2.ActionSupport;import com.pbs.model.BicycleSite;import com.pbs.service.BicycleSiteService;import com.pbs.service.impl.BicycleSiteServiceImpl;/** * 此类提供处理请求有数据交换请求处理,其中数据主要是关于BicycleSite的 * <br> * @author 杨月恒 * @version 1.0 */public class BicycleSiteAction extends ActionSupport {    /**     *      */    private static final long serialVersionUID = 1L;    private BicycleSiteService bicycleSiteService = new BicycleSiteServiceImpl();    private List<BicycleSite> bicycleSites ;    @Override    public String execute() throws Exception {        this.bicycleSites = bicycleSiteService.getAllSite();        return "users";    }public List<BicycleSite> getBicycleSites() {        return bicycleSites;    }    public void setBicycleSites(List<BicycleSite> bicycleSites) {        this.bicycleSites = bicycleSites;    }    } 


请求时能调到action类里的方法,也能连到数据库,就是数据传不过来,老是进入error方法,在网上查了查说是蓝色的get方法有问题,好像是jquery处理get方法和别的方法不同,当我改成其他的方法时可以进入success方法,但是得不到数据,因为struts是靠get方法得到action数据传到前台的,没了get方法自然没值,这可咋办啊,跪求高手指导!!!!!

[解决办法]
JScript code
    error:function(mm){alert(mm.responseText)////////////输出看看,mm是xhr对象,不能直接eval        alert("message error");        ob=eval(mm);        var pro = "";        for(var i in ob){            pro+=i+"\n";        }        alert(pro);        alert(mm.getAllResponseHeaders);    }
[解决办法]
看看你的后台的json的结果是不是标准的json的格式形式。符合json的要求吗?
[解决办法]
瞅瞅传过来的结果是不是错误。。。。
[解决办法]
http://localhost:8080/Public_Bicycle_System/allSite.action
地址栏敲入上面URL,测试返回数据

热点排行