Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法获取jquery ajax调用以返回xml_Java_Jquery_Ajax_Xml - Fatal编程技术网

Java 无法获取jquery ajax调用以返回xml

Java 无法获取jquery ajax调用以返回xml,java,jquery,ajax,xml,Java,Jquery,Ajax,Xml,我有个电话: $.get("${pageContext.request.contextPath}/maze/View/${maze}", function(response){drawMaze(response);}); 在jsp中。它呼吁: protected void doGet(HttpServletRequest request, HttpServletResponse response)

我有个电话:

$.get("${pageContext.request.contextPath}/maze/View/${maze}", 
                                    function(response){drawMaze(response);});
在jsp中。它呼吁:

protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException
    {
        System.out.println("Got here");
        URL url = new URL(request.getRequestURL().toString());
        String [] path = url.getPath().split("/");

        mazeJPA.Maze maze = mazes.getMaze(Integer.parseInt(
                                                    path[path.length - 1]));
        System.out.println(maze.getId());
        response.setContentType("text/xml;charset=UTF-8");

        PrintWriter out = response.getWriter();
        out.println(xmlString(maze));       
        out.flush();

    }
printlns在Eclipse中向控制台打印我所期望的内容。我有一个javascript函数

function drawMaze(response)
在一个单独的脚本文件中定义,但我无法在其中处理xml。javascript控制台中的错误是:

ReferenceError: response is not defined
get stack: function () { [native code] }
message: "response is not defined"
set stack: function () { [native code] }
__proto__: Error
我在这里不明白什么

[编辑] 这是我的jsp中的js:

$.get("${pageContext.request.contextPath}/maze/View/${maze}", 
                                    function(response){drawMaze(response);});

目前我只定义了这个函数。我试图编写xml,但也不起作用。该函数没有被调用,我想,但我不知道为什么。

我现在已经让它工作了,感谢那些指针,如果没有这个线程,我真的不知道从哪里开始。我没想到要在这个项目上与Ajax合作,像往常一样,我很忙。我现在的呼叫如下所示:

<script>
$.ajax( '${pageContext.request.contextPath}/maze/View/${maze}', {
      type: 'GET',
      dataType: 'xml',
      success: function( response ) {
        drawMaze( response);
      },
      error: function( req, status, err ) {
        console.log( 'something went wrong', status, err );
      }
    });
</script>

控制台中有正确的文本。我现在可以继续进行我需要做的处理。

未定义响应是一个很大的线索。您的问题可能是呼叫失败,或者您没有将响应推入响应。你确定它不需要JSON吗?请提供更多的JS代码。如果您使用fiddler来检查响应中实际返回的内容,它看起来像您期望的XML吗?我怀疑问题的很大一部分是$。get实际上并没有将响应XML blob传递到处理程序中。启动Chrome Developer工具或Firebug并检查服务器返回的XML是否符合您的预期。我的xmlString方法正在生成我预期的XML。它没有进入函数。我在开发工具中找不到只检查错误的工具。我还没有函数中的代码。我的意图是在基于xml的画布上绘制。我有一个没有参数的调用,并从这个函数中提取,这是有效的,但当我添加参数和$get。。不会返回xml。它是在我的servlet中生成的,这是我目前唯一能确认的。
function drawMaze(response)
{
    algoName = $(response).find("algorithm");
    console.log(algoName.text());
}