[英]how to call a PHP function using jquery ajax
我想在php中使用ajax创建登录系统,这是我的代码
jQuery(document).ready(function ($) {
// login function
$('form#login').on('submit', function(){
var url = document.getElementById('hidden').innerHTML;
var login_result = $('.login_result');
var input_data = $('form#login').serialize() + "&action=login";
$.ajax({
type: "POST",
data: input_data,
url: url + 'lib/my_func.php',
success: function(responseText){ // Get the result and asign to each cases
if(responseText == 0){
login_result.html('<span class="error">Username or Password Incorrect!</span>');
}
else if(responseText == 1){
window.location = 'userpage.php';
}
else{
alert('Problem with sql query');
}
}
});
return false;
});
});
这是我的PHP功能
function login()
{
if(isset($_POST['action']) && $_POST['action'] == 'login')
{
$user = $_POST['login'];
$pas = $_POST['password'];
echo $user;
}
}
但在这个PHP登录功能没有输出。 如果我删除函数echo $ user为true,如何在登录功能中回显$ user请帮帮我
也可以使用你的js代码,但修改你的my_func.php
<?php
function login() {
if(isset($_POST['action']) && $_POST['action'] == 'login')
{
$user = $_POST['login'];
$pas = $_POST['password'];
echo $user;
}
}
login();
?>
创建者评论后的UPD:您可以通过添加特殊参数来指定在您的ajax请求中调用哪个函数(例如,现在您正在使用&action=login
)。 my_func.php的代码如下所示:
<?php
function login() {
if(isset($_POST['action']) && $_POST['action'] == 'login')
{
$user = $_POST['login'];
$pas = $_POST['password'];
echo $user;
}
}
$action = $_GET['action'];
if ($action == 'login') {
login();
} else {
echo "No action {$action} found";
}
?>
您可以使用:
$('#submit').click(function()
{
$.ajax({
type:'POST',
url: 'your_url_of_php_file',
data: "name="+$('#field_id').val()+"&email="+$('#field_id').val()+"",
success:function(result)
{
alert(result)
}
})
}
并在PHP文件中
<?php
if(isset($_POST['name']))
{
$name=$_POST['name'];
$email=$_POST['email'];
echo $email." ".$name;
}
?>
然后你可以使用:
var input_data = $('form#login').serialize();
$.ajax({
type:'POST',
url:'function.php',
data:"function="+$('#function_name').val()+"&value="+input_data;
success:function(result)
{
alert(result);
}
})
在PHP中:
<?php
if(isset($_POST['function']))
{
$_POST['function']($_POST['value']);
}
function abc($data)
{
//some code
}
?>
你只需要发送函数名称及其值然后在PHP中你的函数将调用自动...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.