我有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>';
}
答案 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。也许有帮助。