Javascript URL中带有GET参数的AJAX POST请求

Javascript URL中带有GET参数的AJAX POST请求,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,您可以通过硬代码在AJAX POST请求中获取变量吗 例如: Javascript: $.ajax({ url:"/script.php?type=1" type: "POST" data:{...} success: function() }) PHP: $a = $_GET["type"] $b = $_POST["some data"] 我为什么需要这个? 我想有一个脚本,可以根据请求运行多个微小的函数。(因为我不希望我的服务器被仅用于一个微小用途的文

您可以通过硬代码在AJAX POST请求中获取变量吗

例如:

Javascript:

$.ajax({
    url:"/script.php?type=1"
    type: "POST"
    data:{...}
    success: function()

})

PHP:
$a = $_GET["type"]
$b = $_POST["some data"]
我为什么需要这个?
我想有一个脚本,可以根据请求运行多个微小的函数。(因为我不希望我的服务器被仅用于一个微小用途的文件阻塞)我决定使用URL GET变量来决定该选项,因为我不想将与脚本(POST数据)相关的信息与脚本应该运行的实际“模式”混在一起。


如果这不起作用,有没有类似的替代方案不涉及创建文件加载?

如评论中所述,您可以使用php

$_SERVER['QUERY_STRING']
以及例如

parse_str()
-函数获取get查询并将其解析为数组以便于处理

搜索“ajax php”或考虑进一步为此使用框架-客户端(例如jquery或angular),服务器端的php可能是laravel、symfony或其他人开发和构建的自动化


但是:对于您描述的情况,我同意那些喜欢通过post(SSL)提交所有信息的人,只要这些数据都是关于敏感的“脚本”信息,正如您所说的,为什么不在执行post请求时使用post变量呢?
让事情变得更简单的快速课程

function ajax(type, data) {
    return $.ajax({
        url:"/script.php",
        type: "POST",
        data: $.extend(data, {type : type})
    });
}

ajax('db', {key : "value"}).done(function(data) { 
    if ( data === 'success' ) alert('insert happened!');
});
ajax('users', {user : "Bob"}).done(function(userData) {
    alert(userData);
});
在PHP中

<?php

    switch( $_POST['type'] ) {
        case "db" : 
            mysqli_query($sb, 'INSERT ' . $_POST['key'] . 'INTO SOMETHING');
            echo "success";
        break;
        case "user" : 
           echo get_user_data($_POST['user']);
        break;
        default : echo "These aren't the droids you're looking for";
    }

?>

嗯,你试过了吗,应该很容易测试是的,你可以。HTTP请求将调用该函数,PHP可以同时使用GET和POST变量。另一方面,为什么不能使用POST变量来确定要运行的函数呢?正如Twisty所说,是的,您可以。您可以混合使用
$\u POST
$\u GET
来访问它们,或者更简单地使用
$\u REQUEST
@谢谢。我无法尝试,因为我的服务器现在已关闭。