【问题标题】:JQuery GET request on Sinatra always results in errorSinatra 上的 JQuery GET 请求总是导致错误
【发布时间】:2011-06-28 12:19:27
【问题描述】:

我正在使用 Sinatra 托管一个简单的服务。这是我的整个应用程序:

require 'sinatra'

get '/hello' do
  'Hello world!'
end

然后,我的 ./public 目录中有一个 html 文件,它尝试对我的服务进行 GET 请求:

<html>
<head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
            $("a").click(function(event) {
                $.get("/hello", function() { alert("first success"); })
                        .success(function() { alert("second success"); })
                        .error(function(jqXHR) { alert("error: " + jqXHR); });
            })
        });
    </script>
</head>
<body>
<a href="">Link</a>
</body>
</html>

当我单击 HTML 页面上的链接时,我在服务器日志中看到以下内容:

0:0:0:0:0:0:0:1%0 - - [16/Feb/2011 10:37:42] "GET /hello HTTP/1.1" 200 12 0.0030
本地主机 - - [16/Feb/2011:10:37:42 CST] "GET /hello HTTP/1.1" 200 12
推荐人 -> /你好

这看起来不错,但无论我如何尝试调整,我只能调用错误回调 - 永远不会成功。

我有两个问题:
1)我做错了什么?
2)我应该如何调试这样的问题?传递给错误回调的对象只是一个对象,我无法获取有关错误的信息。

谢谢!

【问题讨论】:

    标签: jquery ajax http sinatra


    【解决方案1】:

    在测试期间,我遇到了链接的点击代码没有return false; 的问题,因此页面会不断重新加载。使用 Firebug,我收到错误 uncaught exception: [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.getAllResponseHeaders]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: @987654321@ :: anonymous :: line 16" data: no]

    当我将链接从 &lt;a href=""&gt;Link&lt;/a&gt; 更改为 &lt;a&gt;Link&lt;/a&gt; 时,代码有效(我收到了第一条和第二条成功消息)。另外,如果我保持原样保留链接并将return false; 添加到$("a").click 代码的末尾,该代码也可以工作。

    【讨论】:

    • 谢谢!谢谢你让它听起来我不傻:)
    【解决方案2】:
    Error: uncaught exception: 
    [Exception... "prompt aborted by user"  nsresult: "0x80040111 
    (NS_ERROR_NOT_AVAILABLE)"  location: 
    "JS frame :: resource:///components/nsPrompter.js :: openTabPrompt :: line 457"  data: no]
    

    当我同时将 onclick 事件和一个 live href url 附加到锚标记时,我收到了这个错误。

    【讨论】:

      猜你喜欢
      • 2013-01-21
      • 2021-12-23
      • 2019-11-10
      • 2018-06-10
      • 1970-01-01
      • 2015-09-05
      • 2014-03-20
      • 2017-12-07
      • 1970-01-01
      相关资源
      最近更新 更多