Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 带jersey的REST webservice jQuery客户端_Javascript_Jquery_Ajax_Web Services_Client - Fatal编程技术网

Javascript 带jersey的REST webservice jQuery客户端

Javascript 带jersey的REST webservice jQuery客户端,javascript,jquery,ajax,web-services,client,Javascript,Jquery,Ajax,Web Services,Client,我是jQuery新手,我正在尝试为我的web服务开发一个客户端。我试过一些简单的方法,只是为了测试,但仍然不起作用,尽管我觉得还可以 我的tomee/webapp文件夹中有jQuery库,还有html和javascript文件。如果我在javascript文件中编写一些非jQuery代码,它就会工作 我有以下代码: index.html <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt

我是jQuery新手,我正在尝试为我的web服务开发一个客户端。我试过一些简单的方法,只是为了测试,但仍然不起作用,尽管我觉得还可以

我的tomee/webapp文件夹中有jQuery库,还有html和javascript文件。如果我在javascript文件中编写一些非jQuery代码,它就会工作

我有以下代码:

index.html

<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title></title>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript" src="client.js"></script>
    </head>
    <body>
        <input type="button" id="getAllButton" value="Get all books" onclick="return getAllBooks()"/>
        <div id="messageBox"></div>
    </body>
</html>

问题是不会出现警报。如果编写纯javascript(我的意思是没有jQuery),则会出现警报

为什么不显示警报?有什么建议吗

谢谢大家!


Sorin

让我们试着找出哪些有效,哪些无效;尝试将client.js更改为:

alert(1); 
function getAllBooks() {
    alert(2);
    window.open(rootURL + '/books'); 
    $.ajax({
        dataType: 'application/xml',
        type: 'GET',
        url: rootURL + '/books',
        success: function (data) {
            alert(3);
        },
        error: function (data) {
            alert(4);
        }
    });
}
如果看到警报#1(加载html页面时),则client.js路径正常。如果您看到alert#2(当您单击该按钮时),则至少该函数正在被调用

验证window.open()是否显示web服务应该显示的内容(即使是错误消息也会引导您抛出正确的路径)。当然,如果你看到alert#3或#4,那么你的问题就被它自己神秘地解决了。。。。有时会发生:-)


注意:如果您知道如何使用浏览器的javascript控制台,请使用console.log()而不是alert()进行调试

谢谢charlietfl的提示!他们帮我解决了这个问题


问题是它不知道rootURL是谁。我在一个例子中找到了rootURL,我认为这是jQuery中定义的东西。似乎不是。请解释症状。浏览器控制台中是否抛出错误?两个警报都会开火吗?AJAX的疑难解答有很多变量,仅仅提供代码并不能说明很多问题,问题是不会出现警报。这还不够详细。您必须在浏览器控制台中查找脚本错误,并检查请求本身以查看是否发出了请求。页面是否与脚本位于同一文件夹中?如果不是,则不会加载脚本。可以在控制台的“网络”选项卡中查看脚本是否正在加载线程…我不知道如何调试。。。
alert(1); 
function getAllBooks() {
    alert(2);
    window.open(rootURL + '/books'); 
    $.ajax({
        dataType: 'application/xml',
        type: 'GET',
        url: rootURL + '/books',
        success: function (data) {
            alert(3);
        },
        error: function (data) {
            alert(4);
        }
    });
}