javascript - AJAX:$_GET 不返回任何值

标签 javascript php jquery ajax

几个小时以来一直在努力解决这个问题......

我试图通过从我包含在 <input> 中的 jQuery slider 中获取值来使用 AJAX标签。 AJAX 不会失败(见代码),当我 console.log我试图通过 Data: 发送的变量, 它打印正确。

注意:jQuery 和 php 在同一个页面上,所以没有 url:参数,或者您将使用的任何名称。

这是 <script>部分:

   jQuery(function($){
        $("input[id='protein-slider']").ready(function(){
            var p_range;
            var request;
            $("input[id='protein-slider']").each(function () {
            p_range = $(this).val();
            });
            console.log(p_range) //Returns correct values

            request = $.ajax({
                type: "POST",
                data: p_range,
            });  
            request.done(function (response, textStatus, jqXHR){
                console.log("Hooray, it worked!"); //This prints, no error
            });
            request.fail(function (jqXHR, textStatus, errorThrown){
                console.error(
                    "The following error occurred: "+
                    textStatus, errorThrown
                );
            });
        });
    });

<?php ?>与此功能相关的代码是:

                echo $_SERVER['QUERY_STRING']; //returns nothing
                $income_data = $_GET['p_range']; 
                echo $income_data; //returns nothing
                var_dump($income_data); //returns "NULL"

我已经忘记了我已经完成的所有其他方法以及我在这里阅读过的其他无数的 awnsers。似乎没有一个工作,它变得非常令人沮丧......

希望你们中的一个能发现我在做什么愚蠢的事情......

谢谢!

最佳答案

你的ajax是POST的,改成GET

request = $.ajax({
    type: "POST",
    data: p_range,
}); 

或者你在 php 中访问你的参数

$var = $_POST['p_range'];

关于javascript - AJAX:$_GET 不返回任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29553782/

相关文章:

javascript - 让两个自定义指令在 AngularJS 中相互交互

javascript - Mustache 如何填充模板中大括号内的变量?

php - 静态方法和继承中的get_class (php)

php - 如何从 php 中的字符串创建可能的字符串组合?

javascript - 有什么方法可以检测用户是否从本地存储中删除了任何项目

javascript - DOM MutationObserver 问题 - Javascript

php - 在 WooCommerce 中的正常价格之前显示销售价格

JQuery 和链接 - 奇怪的情况

jquery - 如何从此 JSON 文件解析城市

jquery - 根据滚动位置更改CSS——重构糟糕的代码