debian chromium中的jquery ajax给出错误消息0

时间:2012-08-24 06:56:22

标签: jquery jquery-mobile

在ubuntu和chrome浏览器上测试我的应用程序时一切正常,但是当转移到使用debian和相同铬浏览器的生产机器时,我总是得到一个ajax错误0。

  • jQuery版本1.7.2
  • jQuery.mobile版本1.1.1
  • Tomcat服务器

请求:

$.ajax({
    type: 'POST',
    url: "http://localhost:8080/rest/setvalue/1234",
    dataType: "json",
    success: function(objResponse) {
        showMessage("Done");
    },
    error: errorHandler
});

尽管服务器正确处理了请求,但生产机器上会调用errorHandler!

感谢任何想法...

------ ADDED ------

警告显示代码

function errorHandler(xhr, ajaxOptions, thrownError) {
showAlert("Error", "Error: " + xhr.status + "\n" +
       "Message: " + xhr.statusText + "\n" +
       "Response: " + xhr.responseText + "\n" + thrownError); } 

是:

错误:0

消息:错误

回复:

1 个答案:

答案 0 :(得分:1)

成功功能中缺少一个括号。

showMessage(“完成”;应该是showMessage(“完成”);

你能检查一下这是否解决了这个问题?

<强>编辑:

我的意见是问题与代码无关。很可能在您的情况下,AJAX请求被视为跨域请求,同一原始策略失败。这就是你得错误的原因:0。

我设法重现了这个案例(在Windows操作系统中),在以下情况下我遇到了同样的错误:

  1. 打开我的网页http://localhost:7001/MobileApp/index.html并在http://www.example.com/MobileApp/test上执行AJAX。
  2. 打开我的网页http://localhost:7001/MobileApp/index.html并在http://127.0.0.1:7001/MobileApp/test上执行AJAX。
  3. 打开我的网页http://127.0.0.1:7001/MobileApp/index.html并在http://localhost:7001/MobileApp/test
  4. 上执行AJAX
  5. 打开我的网页http://192.168.1.2:7001/MobileApp/index.html(其中192.168.1.2是我的私人IP地址)并在http://127.0.0.1:7001/MobileApp/test上执行AJAX。
  6. 上述案例被视为跨域请求,我收到了您提到的错误。

    显然,在配置主机文件并将IP地址映射到主机名等之后,上述一些问题得到了解决,因为请求不被视为跨域。

    总之,我建议调查相同的原始政策是否成功。

    enter image description here