为什么这个ajax会失败?

时间:2013-09-06 08:30:29

标签: 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");
});

请告诉我一切都可能是错的

在这里工作:view-source:http://schoolspam.com/addTeacher.php 在这里不起作用:view-source:http://schoolspam.com/school/oppa_alla_36/

3 个答案:

答案 0 :(得分:2)

删除最后一个逗号? on .toString()

答案 1 :(得分:0)

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

<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>

这里你已经包含了两次jQuery,而在第二次包含你有一些奇怪的角色。简单地摆脱第二行。

你的AJAX调用也是错误的。您有以下内容:

$.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");
});

答案 2 :(得分:0)

问题可能在于使用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

您可以尝试从root指定url。由于脚本似乎位于根目录中,因此只需要添加前导/

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