通过AJAX调用OOP PHP函数

时间:2015-04-12 00:51:56

标签: php ajax function oop

我有OOP php文件,我想通过AJAX调用其中一个函数,我已经阅读了很多关于这个(主要是stackoverflow),但由于某种原因,它只是不起作用。

我知道调用ajax函数(我试图在成功函数中添加一些警报,并在点击按钮后出现警报),但不知何故它忽略了文件ajax.php中的所有内容(我甚至尝试在ajax.php文件的顶部,但什么也没发生)

还要注意我需要按钮,而不是输入(虽然这会更容易)

这是我的按钮:

<button class='formular-button' type='button' onclick='prihlasPA()'> vypiš přihlaš </button>

这是我的按钮脚本:

<script>
function prihlasPA() {
$.ajax({
    type: "POST",
    url: "ajax.php",
    data: {action: 'prihlasP'},
    success: function(){},
    error: function(){
        alert("chyba");
    }
  });    
}
</script>

这是在ajax.php里面,由AJAX调用:

include( 'navstevnik.php' );
echo "aaa";
if(isset($_POST['action']) ) {
    $navstevnik = new navstevnik; //navstevnik is name of my class btw
    $navstevnik->vypisPrihlas();
} 

我认为这不重要,但在我的函数中,vypisPrihlas()是这段代码:

public function vypisPrihlas(){
    $this->index=1;
    echo ' 
        <fieldset class="formular">
        <div class="pure-control-group stred" >
            <input id="nick" type="text" name="nickP" placeholder="Nickname">
        </div>
        <div class="pure-control-group stred">
            <input id="password" type="password" name="hesloP" placeholder="Heslo">
        </div>
        <input class="pure-button pure-button-primary stred" style=width:188px; type="submit" name="buttonP" value="přihlásit" />
    </fieldset>'; 
}

2 个答案:

答案 0 :(得分:0)

我没有看到上述代码的任何问题。

当函数vypisPrihlas回显HTML时,您将无法在主页上看到它。相反,您需要从成功函数加载它并将HTML附加到页面的某个位置。

$.ajax({
    type: "POST",
    url: "ajax.php",
    data: {action: 'prihlasP'},
    success: function(data){
        $( ".your_favorite_div" ).append(data);
    },
    error: function(){
        alert("chyba");
    }
});

答案 1 :(得分:0)

根据你的说法,ajax功能很好,对吧?

我认为你的问题是PHP的路径,因为它没有被调用。尝试更改此行

url: "ajax.php",

表示完整路径,例如\ var \ www \ path_to_code \ ajax.php。也许有帮助。