Ajax调用仅在localhost上失败

时间:2015-02-03 18:45:23

标签: php jquery ajax get

我有一个登录的ajax调用:

$.ajax({
        url: url_to_ajax,
        success: function ( data ) {
            switch (data) {
                case "-2": input1.addClass("has-error");
                    break;
                case "-1": input1.addClass("has-error");
                    break;
                case "0": input2.addClass("has-error");
                    break;
                case "1": //everythings ok
                        window.location.replace(base_url);
                    break;
                default: //this should not happens
                        window.location.replace(base_url);
                    break;
            }
        }
    });

Chrome控制台给了我这个:

GET http://testserv.local/profil/login_call/admin@gmail.com/ross 404 (Not Found)

当我在浏览器中复制此URL时,每个方法都可以,它会显示结果代码。在实时服务器上一切都好。但是在localhost这个..而对我来说,最大的问题是,用ajax调用url,因为在刷新页面后我登录了..

有人可以帮助我吗?

我在Windows 8.1上使用wamp,Apache 2.4.9,PHP 5.5.12

编辑:我在一个月之前编写了这段代码,现场和本地主机上的所有内容都没问题。在我格式化光盘并安装新的W8.1之后,这段代码不起作用。

2 个答案:

答案 0 :(得分:1)

6小时后我解决了..只需把

header("HTTP/1.1 200 OK");

在您的代码中,如果您遇到与我相同的“魔术”问题..

答案 1 :(得分:0)

这不是AJAX的问题,而是服务器问题。

您获得的错误是404 Not Found。这意味着web服务器位于" testserv.local"存在并正在响应,但无法找到您正在寻找的资源。您最近对本地服务器进行了哪些更改?如果您在浏览器上打开http://testserv.local/profil/login_call/admin@gmail.com/ross会怎样?那么每个人呢:

http://testserv.local/profil/login_call/admin@gmail.com
http://testserv.local/profil/login_call/
http://testserv.local/profil/
http://testserv.local/

(我问这个是因为如果您正在使用这些网址,也许Apache中的mod_rewrite停止工作,因为您更改了一些配置)