发送GET到服务器没有回应(但状态返回)

问题描述:

我发送一个ajax请求到我的服务器,在那里更新一些数据。请求与jquery的get函数一起发送。如果成功,我想TE执行一些动作,但由于服务器无响应不幸的是整个操作失败,即使萤火虫清楚地显示出200种状态:发送GET到服务器没有回应(但状态返回)

alt text
更重要的是,当我输入与浏览器的这个地址,也一切看起来不错。任何想法为什么它可能无法正常工作?这是我的js:

$(".interests-delete").live("click", function(){ 
     var id = $(this).attr('title'); 
     var user_id = "100000717262400"; 

     $.ajax({ 
      type: "GET", 
      url: "http://dev1.gecoloco.com/rte/ilike.php?", 
      data: "u=" + user_id + "&d=" + id, 
      dataType: "json", 
      success: function(response, status){ 
       alert(status); 
       console.log(response); 
       getLikes(); 
      } 
     }); 
     return false;    
    }); 
+1

尝试省略`url`参数末尾的问号。 – karim79 2010-11-28 03:08:02

+0

没有问号的URL更改为... php?u =,没有额外的'&'。但问题依然存在。 – mastodon 2010-11-28 03:51:50

你的网址看起来有点有趣。部分:“?& u = ...”应该是“?u = ...”

+0

它看起来像jq增加了这个额外的`&`标志。仍然链接工程与这一个补充说:http://dev1.gecoloco.com/rte/ilike.php?u=100000717262400&d=2 – mastodon 2010-11-28 03:10:04

也许你的成功功能有问题。有可能你得到了回应,但是你的JavaScript在你的函数中崩溃了。

这很可能是由于“相同的来源策略”,它要求你的html应该来自发出ajax调用的同一个域,尝试加载你的html页面不是来自文件系统,而是通过服务于ajax调用的相同服务器。它将工作。

我,当我从本地文件系统在我的浏览器中打开一个页面之前已经经历了这一点,如file:///C:/Users/Eason/Desktop/mailer/index.html

当这个页面尝试建立AJAX请求,它会导致该问题。当它在网络服务器(如Tomcat)上发布时,它会工作。

This是浏览器中的一项安全限制,可防止不安全的跨域流量。