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

时间:2010-11-28 03:04:12

标签: jquery ajax get xmlhttprequest response

我正在向我的服务器发送ajax请求,以更新那些数据。请求与jquery的get函数一起发送。在成功的时候我想要执行一些动作,但不幸的是整个操作都失败了,因为服务器没有响应,即使firebug清楚地显示200状态:

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;            
    });

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

你的网址在那里看起来有点滑稽。部分:“?& u = ...”应为“?u = ......”

答案 2 :(得分:0)

您的成功功能可能有问题。您可能会收到回复,但是您的javascript在您的函数中崩溃了。

答案 3 :(得分:0)

我之前在浏览器中从本地文件系统打开页面时遇到过这种情况,例如: file:///C:/Users/Eason/Desktop/mailer/index.html

当此页面尝试发出AJAX请求时,会导致该问题。当它在Web服务器(例如Tomcat)上发布时,它将起作用。

这是浏览器中的安全限制,用于防止不安全的跨域通信。