javascript - 通过Ajax请求调用php函数

标签 javascript php jquery ajax

我正在尝试将我的主页编码得更加结构化。我必须大量处理 mysql 数据库查询,并且我想为每个表创建一个自己的 .php 文件,其中包含我想通过 Ajax 请求调用的所有必要函数。

因此我通过 stackoverflow 答案得到了以下片段:

$.ajax({ url: '/my/site',
         data: {action: 'test'},
         type: 'post',
         success: function(output) {
                      alert(output);
                  }
});

在服务器端,应读取action POST 参数,并且相应的值应指向要调用的方法,例如:

if(isset($_POST['action']) && !empty($_POST['action'])) {
    $action = $_POST['action'];
    switch($action) {
        case 'test' : test();break;
        case 'blah' : blah();break;
        // ...etc...
    }
}

我的问题:

我也想通过数据属性分配表单数据,但我不知道如何做到这一点。我尝试了以下方法(这只是一个猜测,但没有成功):

var data = $(this).serialize();
$.ajax({ url: '/my/site',
         data: {action: 'test', data},
         type: 'post',
         success: function(output) {
                      alert(output);
                  }
});

最佳答案

serialize() 将以字符串的形式从表单返回数据。您只需将剩余的查询附加到字符串的其余部分即可。

示例:

<form id="form">
    <input name="form_name_1" value="form_value_1">
    <input name="form_name_2" value="form_value_2">
</form>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
    var data = $('#form').serialize();
    data += '&action=test';

    $.ajax({
        url: '/my/site',
        data:data,
        type:'post',
        success:function(output) {
            alert(output);
        }
    });
});
</script>

关于javascript - 通过Ajax请求调用php函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159952/

相关文章:

javascript - onClick 来自数据库的随机播放按钮

javascript - 函数中的拼接不会按预期更改字符

php - 使用内部 Join 时如何优化 Doctrine 查询的数量?

php - Websocket 或长轮询(使用 AJAX)使用 PHP 检测数据库中的更改

javascript - 菜单菜单三级子菜单格式

javascript - 如何为下拉列表的每个选项添加一个属性

javascript - 通过 javascript 显示通知

php - 无法使用 PHP pg_connect() 连接到 PostgreSQL

php - 如何通过ajax获取多个查询的结果

jquery - 使用jquery调整div大小并向上移动