关于ajax的URL路径及返回值问题

以下为HTML页面:

    <input id="btnok" type="button" value="单击返回hello" /> 

以下为我的js页面:
$(function () {

$("#btnok").click(function () {

$.ajax({

type:"post",

url: "myclass.java/Hello",

contentType: "application/json",

success: function (data) {

alert(data.d);

},
error:function(jqXHL){
alert("错误:"+jqXHL);
},
}) ;
}) ;
});

以下为我写的一个java类myclass.java,用于返回值:
public class myclass {

        public  String Hello()  
        {  
                return "Hello Ajax!";  
        }  

}

运行后alert弹出404错误,刚开始学,好多不明白,望大神指教哪里出问题了?

4个回答

前端要访问到后台的class类,有一定要求的,比如必须集成serverlet,或者用框架spring mvc的controller,sturts的anction等。直接访问普通的java类不行。

qq_34679663
巧乐兹zzz 回复Nothing_katu: 好的,我知道了。万分感谢!
大约 3 年之前 回复
u010001477
Nothing_katu 那要看你后台是servlet还是action还是controller
大约 3 年之前 回复
u010001477
Nothing_katu 回复巧乐兹zzz:嗯
大约 3 年之前 回复
qq_34679663
巧乐兹zzz 回复Nothing_katu: 那这个ajax的路径怎么写呢?我在网上看到有好多xxx.json,xxx.do之类的把我弄糊涂了
大约 3 年之前 回复
u010001477
Nothing_katu 回复巧乐兹zzz: 可以这么做,反正前端请求只能访问servlet
大约 3 年之前 回复
qq_34679663
巧乐兹zzz 相当于是我先把请求提交到servlet,再用servlet调用class类对吗
大约 3 年之前 回复

你使用servlet,那么web.xml应该有你的类的配置路径和两对标签,你可以参考下这个http://www.cnblogs.com/xdp-gacl/p/3760336.html

qq_34679663
巧乐兹zzz 好的,谢谢
大约 3 年之前 回复

其实最基础的前后端参数传递就是使用Servlet,我直接给你写代码吧!

     //1、前端ajax请求格式
     var url = '/myclass'  //这个url地址是你在WEBINF下的web.xml里面配置的servlet请求地址
     $.ajax({
            url:url,//这是你请求的url地址
            type: 'get',//这是请求的方式,可以是get或是post
            timeout: 10000,//这是请求超时的时间
            success: function(ret) {//这个是成功访问之后的回调,ret是从后台返回的值
                    alert(ret);
            }
     });

下面来看一看,servlet应该怎么写:

     @WebServlet(name = "myclass")
    public class MyClassServlet extends HttpServlet {

            //servlet里面都会有doget和dopost的方法,用于处理前端请求
            protected void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
                    doPost(request, response);
            }
            protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException {
                    response.setCharacterEncoding("UTF-8");
                    response.setContentType("application/json; charset=utf-8");
                    PrintWriter out = response.getWriter();
                    out.println("Hello Ajax!");
            }

    }

最后还有最重要的一点不要忘了,web.xml的配置,这个是必须要的

 <servlet>
    <servlet-name>myclass</servlet-name>
    <servlet-class>MyClassServlet</servlet-class>
  </servlet>
    <servlet-mapping>
            <servlet-name>myclass</servlet-name>
            <url-pattern>/myclass</url-pattern>
        </servlet-mapping>
qq_34679663
巧乐兹zzz 好的,我知道了,谢谢
大约 3 年之前 回复

发送ajax,url 后面是 后台的路径。没有路径就会出现404

qq_34679663
巧乐兹zzz 好的,谢谢
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问