代码之家  ›  专栏  ›  技术社区  ›  Tom Gullen

jquery简单Ajax请求不工作

  •  3
  • Tom Gullen  · 技术社区  · 14 年前

    我只想得到一个页面并返回其中的内容:

            $.ajax({
                type: "POST",
                url: "alg.aspx",
                data: sqQstring,
                success: function(msg) {
                    alert("Data Saved: " + msg);
                }
            });
    

    这不会生成警报框,并且错误控制台中没有错误。我已经打印出了sqqString的值,它等于:

    cc=12&cr=11&sq=10,4|10,4
    

    我还将Ajax中的URL更改为:

    http://localhost:2728/shaper/alg.aspx
    

    这将生成一个警报框,但其中没有数据。

    我访问了网页:

    http://localhost:2728/shaper/alg.aspx?cc=12&cr=11&sq=10,4|10,4
    

    它显示了大量的数据。

    有人帮忙吗?

    2 回复  |  直到 14 年前
        1
  •  6
  •   Fenton    14 年前

    添加一个错误处理程序以检查是否返回错误…

       $.ajax({
            type: "POST",
            url: "alg.aspx",
            data: sqQstring,
            success: function(msg) {
                alert("Data Saved: " + msg);
            },
            error: function (request, ajaxOptions, exception){
                    alert(request.status);
                    alert(exception);
                }    
        });
    

    除此之外,使用firefox和firebug并查看“net”选项卡以查看实际的请求和响应。

    最后一条注释,如果在将地址粘贴到浏览器中时有效,请在Ajax代码中执行get请求,而不是post请求。

    基于评论的可能解决方案

    $.get("http://localhost:2728/shaper/alg.aspx?cc=12&cr=11&sq=10,4|10,4", 
        function (data) {
            alert("Data Saved: " + data);
        }
    );
    

    您也可以动态地附加这个查询字符串,但是在更改示例之前,请先尝试检查它的工作情况!

        2
  •  1
  •   Peter J    14 年前

    另一个需要考虑的问题是,您的测试(当您“访问页面”)正在使用GET,但是您的Ajax请求正在发布。