Javascript 我的ajax代码是怎么回事?

Javascript 我的ajax代码是怎么回事?,javascript,php,ajax,Javascript,Php,Ajax,我有一个调用php页面的ajax函数。我遇到的问题是,error函数一直在调用。是什么让error函数调用而不是success函数 阿贾克斯: php registration.js和account.php包含在index.php中,因此registration.js和account.php应该与index.php位于同一目录中 我做错了什么X检查php/account.php(通过ajax调用的url/函数)是否返回json,而不是html。还要检查mime类型是否正确 最简单的检查方法:查看

我有一个调用php页面的ajax函数。我遇到的问题是,error函数一直在调用。是什么让error函数调用而不是success函数

阿贾克斯:

php

registration.js和account.php包含在index.php中,因此registration.js和account.php应该与index.php位于同一目录中


我做错了什么X

检查php/account.php(通过ajax调用的url/函数)是否返回json,而不是html。还要检查mime类型是否正确

最简单的检查方法:查看firefox浏览器下运行的firebug的“Net”选项卡


或者使用类似etherpeek的工具,如fiddler或其他工具。

使用您的代码但注释出url,它可以工作:

您应该在Firefox(或Chrome控制台)中使用Firebug,查看ajax调用调用的URL以及它报告的错误代码

您还可以检查它返回的状态代码:

function register() {
    $.ajax({
        type: "POST",
        //url: "php/account.php",
        success: function() {
            alert("asdf");
        },
        error: function(xhr) {
            alert("Could not register. Please try again. Error "+xhr.status);  
        },
        404: function(xhr) {
            alert("not found");  
        }
    });
}
register();
在Firebug/Chrome控制台中,您可以检查整个对象:

console.log(xhr);

当您发出ajax请求时,会发生什么情况?好吧,我在chrome中遇到一个问题,它可以在控制台上快速启动,然后离开,我没有足够的时间查看它,但我最终设法抓住了它,问题出现在我的表单操作中,我将其修改为:
,效果很好,谢谢。他的例子表明他没有发回JSON,也不应该抛出错误,因为文档中说它可以检测到它是什么:。也就是说,调用应该指定类型。
index.php
js folder -> registration.js
php folder -> account.php
function register() {
    $.ajax({
        type: "POST",
        //url: "php/account.php",
        success: function() {
            alert("asdf");
        },
        error: function() {
            alert("Could not register. Please try again.");  
        },
        404: function() {
            alert("not found");  
        }
    });
}
register();
function register() {
    $.ajax({
        type: "POST",
        //url: "php/account.php",
        success: function() {
            alert("asdf");
        },
        error: function(xhr) {
            alert("Could not register. Please try again. Error "+xhr.status);  
        },
        404: function(xhr) {
            alert("not found");  
        }
    });
}
register();
console.log(xhr);