AJAX点击没有调用/加载它应该

时间:2011-10-29 23:37:23

标签: ajax jquery

我一直在学习AJAX 2小时的最佳时间,试图让我了解如何让它工作,似乎它正在调用函数,好像我发出警报,一切正常。< / p>

我尝试使用另一种方法,它似乎在它自己调用函数,它会加载.php页面回显的内容。

为了让它根本不起作用,我做错了什么?

<script type="text/javascript">
$('a.fire').click(call_ajax);
function call_ajax() {
    $.ajax({
        type: "GET",
        url: "http://127.0.0.1/onlineshop/admin/scripts/test.php",
        dataType: "html",
        success: function(html){
            $("#holder").append(html);
        }
    });
}
</script>

编辑:我刚试过

$('a.fire').click(function() {
    $.ajax({
            type: "GET",
            url: "http://127.0.0.1/onlineshop/admin/scripts/test.php",
            dataType: "html",
            success: function(html){
                $("#holder").append(html);
            }
        });
});

这也行不通。

编辑:我现在有代码,GET是我想要的php文件,但由于某种原因,它是自己的

<script type="text/javascript">
function call_ajax() {
    $.ajax({
        type: "GET",
        url: "http://127.0.0.1/onlineshop/admin/scripts/test.php",
        dataType: "html",
        success: function(html){
            $("#holder").append(html);
        }
    });
}

<script type="text/javascript">
 $(function() {

$(document).ready(function() {
$('a.fire').click(call_ajax());
    });
});

此代码的问题在于它会自动触发

编辑:现在有新的代码,试图根据Firebug控制台触发,但是我收到警告ERROR:错误,所以我不知道发生了什么以使其失败,我也尝试过许多不同的URL没有可行的解决方案

$('a.fire').click(function () {
    $.ajax({
        type: "GET",
        url: "/onlineshop/admin/scripts/test.php",
        dataType: "html",
        success: function(html){
            $("#holder").append(html);
        },
        error:function(xhr, text, error){
            alert("Error: " + text);
        }
    });
});

解决:我现在已经开始工作了!出于某种原因,我的锚有一个“”的href,这将导致它重新加载页面并从页面中删除我的GET

1 个答案:

答案 0 :(得分:0)

只有当它是同一个域时,才能使用ajax。这意味着如果您从域x执行jQuery到域y,它将无法工作。出于安全原因,这是为了防止网站从其他网站加载。如果从网址中删除127.0.0.1,您的jQuery-ajax调用是否有效?

此外,我猜您应该在$(document).ready();函数中添加click-function,如下所示:

$(document).ready(function(){
   $('a.fire').click(function() {
      $.ajax({
        type: "GET",
        url: "onlineshop/admin/scripts/test.php",
        dataType: "html",
        success: function(html){
            $("#holder").append(html);
        }
      });
   });
});

出于测试目的,您还可以使用ajax中的complete函数并提醒您的数据。萤火虫也很有帮助找到你的问题:)