为什么ajax会失败?

为什么ajax会失败?,ajax,jquery,Ajax,Jquery,我已经在一个文件中使用了相同的ajax代码,它可以正常工作。但是相同的代码在其他文件中不起作用 这是我的密码 $.ajax({ type: "GET", url: "get_child.php?pc_id="+pc_id.toString(), }).done(function(option) { alert("done"); }).fail(function(option) { alert("fail"); }); 请告诉我可能出了什么问题 工作地

我已经在一个文件中使用了相同的ajax代码,它可以正常工作。但是相同的代码在其他文件中不起作用

这是我的密码

$.ajax({ 
     type: "GET",
     url: "get_child.php?pc_id="+pc_id.toString(),

}).done(function(option)  {
    alert("done");
}).fail(function(option)  {
    alert("fail");
});
请告诉我可能出了什么问题

工作地点:查看来源:
此处不起作用:查看来源:

是否删除最后一个逗号?在.toString()上

在页面的源代码中,您有以下内容:

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script src=Óhttps://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.jsÓ type=Ótext/javascriptÓ></script>
$.ajax({ 
    type: "GET",
    url: "get_child.php?pc_id="+pc_id.toString(),
    done: function(option)  {
        alert("done");
    },
    fail: function(option)  {
        alert("fail");
    },
    error: function(jqXHR, textStatus, errorThrown) {
        alert(textStatus);
        alert(errorThrown);
    }
});
应该是:

$.ajax({ 
    type: "GET",
    url: "get_child.php?pc_id="+pc_id.toString()
}).done(function(option)  {
    alert("done");
}).fail(function(option)  {
    alert("fail");
});

问题可能在于使用与当前地址相关的
url
的相对路径

因此,您列出的每个页面都希望在不同的位置找到
get_child.php

http://schoolspam.com/addTeacher.php ->
http://schoolspam.com/get_child.php
http://schoolspam.com/school/oppa_alla_36/ ->
http://schoolspam.com/school/oppa_alla_36/get_child.php
您可以尝试从根目录指定
url
。由于脚本似乎位于根目录中,因此只需添加一个前导的
/

url: "/get_child.php?pc_id="+pc_id.toString()

如果看不到更多的代码,就不可能说,但是什么是
pc\u id
?在ajax调用之前放置一个警报(console.log更好)以检查值。另外,最后一个逗号(在toString之后)将导致IE中出现问题-出于安全考虑,将其去掉。可能是因为
get_child.php
的路径不再相同?添加一个详细错误处理程序
$.ajax({type:“get”,url:“get_child.php?pc_id=“+pc_id.toString(),error:function(xhr,status,error){alert){('error:'+status+':'+error+':'+xhr.responseText)}}).done(函数(选项){alert(“done”);}.fail(函数(选项){alert(“fail”);};
那么,你会遇到什么错误呢?浏览器有内置的调试器(IE8+、Chrome、Firefox等)。它们经常记录请求的任何问题,或者至少让你观看“网络”自行调试。示例:。当您将其作为问题的一部分进行修复时,不要链接到可能会更改的文件。将相关内容放入问题中。不要只说“它失败”:它是如何失败的?看看正在发出的HTTP请求,看看是否如您预期的那样,看看JS控制台中的错误消息,看看服务器日志中的错误消息,等等。对此进行否决有点苛刻。这会导致它在IE中失败,因此可能是他的问题。我同意。当“不工作”时据我们所知,指出非工作性的潜在原因不能被认为是无用的。Wat??如果脚本已经在根文件夹中,那么在url前面加上
/
将无效。@Archer客户端url路径不会自动从根开始,除非它们有一个前导的
/
。默认是从目录开始当前页面的扇区——当然,
/
是一个页面,但是
/school/oppa_alla_36/
是另一个页面。这与
等相同。我知道Jonathan。不过,正如我所说,脚本已经在根文件夹中,所以在这种情况下用
/
作为前缀将完全没有区别。@Arc她在
/school/oppa_allo_36/
上的页面将不会在根目录中使用当前相对路径查找
get_child.php
。它需要使用
“../../get_child.php”
。否则,它需要是绝对路径,
“/get_child.php”
///schoolspam.com/get_child.php“
。我真的很了解相对路径和绝对路径。穿上你的内裤:)。自从我发帖后,他改变了问题。他最初说一切都在根源。