使用jQuery的基本Ajax - 执行PHP文件

时间:2012-08-09 02:30:55

标签: php jquery ajax

出于某种原因,我不能让它发挥作用。我想要做的就是当点击一个按钮时,(通过ajax)执行一个php文件。 Aka,如果我不使用ajax,我们会看:

<a href="file.php">dfgdfg</a>

我希望在不离开页面的情况下执行文件。

这就是我的主题:

$(".vote-up").live('click', function(e) {
$.ajax("file.php", function(){
       alert("Executed file");
   });
});

这似乎不起作用。我真的很困惑jQuery ajax函数如何在一般情况下运行,而不处理任何远程复杂的事情。

添加了问题:

.ajax({
       url: 'includes/login-check-jquery.php',
       success: function (data) {
            if(data == 1){
                alert("Logged in!!!");
            }else{
                window.location = data;
            }
        error: function (xhr, status, error) {
        // executed if something went wrong during call
        if (xhr.status > 0) alert('Error: ' + status); // status 0 - when load is interrupted
        }
    });
});

在上面的代码中,如果返回的数据等于“登录”,则显示消息框。否则它将重定向到该位置(在数据中发送)。由于某种原因,这个if语句不起作用,但数据按预期返回。

我的PHP代码是:

<?php  
if (!$user->logged_in){
    echo "../login/index.php";
}else{
    echo "1";
}

&GT;

有什么想法吗?

1 个答案:

答案 0 :(得分:5)

如果您不想离开页面,请执行

$(".vote-up").live('click', function(e) {
    e.preventDefault();
    ...

如果需要,可以更新ajax

$.ajax({
    url: 'file.php',
    success: function (data) {
        // this is executed when ajax call finished well
        alert('content of the executed page: ' + data);
    },
    error: function (xhr, status, error) {
        // executed if something went wrong during call
        if (xhr.status > 0) alert('got error: ' + status); // status 0 - when load is interrupted
    }
});

错误回调部分可以删除,如果您只是为了简单而不是可用性,可以通过引用jquery ajax doc添加更多选项。