【问题标题】:simple ajax post variables not being seen by phpphp看不到简单的ajax post变量
【发布时间】:2021-08-28 19:48:34
【问题描述】:

我一直在用谷歌搜索下面的代码并摸不着头脑!几个小时以来,我无法理解它不起作用的任何原因。

我希望你们中的一个人能对此有所了解......

在浏览器开发工具网络中报告一切正常 (200) 控制台响应将发布的数据正确显示为:

 <pre class='xdebug-var-dump' dir='ltr'>
<small></small>
<b>array</b> <i>(size=1)</i>
  11 <font color='#888a85'>=&gt;</font> <small>string</small> <font color='#cc0000'>''</font> <i>(length=0)</i>
</pre> 

在我的 php 脚本中,它只有 var_dump $_REQUEST 和 $_POST 都说数组 0 为空

我的 JQuery 代码是:

$(function () {
    $('#test-form').on('submit', function (e) {
        e.preventDefault(); // Stop form from submitting
        $("select[name='Category']").change(function () {
            const SelectName = $(this);
            const SelectValue = $("select[name='Category'] option").filter(':selected').val();
            const NextSelectRef = $(this).next();
            
            // To make more dynamic we need to be able to get the select name currently it returns the ID value
            console.log(SelectName);
            
            if (SelectName) {
                console.log('Selector name exists');
                
                // Ajax
                if ($.trim($("SelectValue")) != '') {
                    console.log('Prepare to ajax!');
                    
                    //console.log('Data has been serialized' + SelectValue);
                    
                    $.ajax({
                        url:'/GetSubCat.php',
                        method: 'POST',
                        data: {Category: SelectValue,},
                        success: function(data){
                            console.log(data);
                        },
                        error:function(error){
                            console.log(error);
                        }
                    });
                }
            }
        });
    });
});

HTML 是:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<script
    src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>

<body>
    <form id="test-form" name="form" action="/forms_categories.php"
        method="post">
        <ul>
            <li><label for="">Cocoa Cola 330ml</label>
                <div>
                    <select name="Category" id="id55">
                        <option value="8">Bakery</option>
                        <option value="11" selected="selected">Beverages</option>
                        <option value="9">Meat</option>
                        <option value="10">Poultry</option>
                    </select> <select name="SubCategory" id="SubCategory">
                        <option value="7">Cans</option>
                        <option value="8">Bottles</option>
                        <option value="9">Chicken</option>
                    </select>
                    <button type="submit" name="Submit" value="Update">update</button>
                </div></li>
            <li><label for="">Cocoa Cola 500ml</label>
                <div>
                    <select name="Category" id="id56">
                        <option value="8">Bakery</option>
                        <option value="11" selected="selected">Beverages</option>
                        <option value="9">Meat</option>
                        <option value="10">Poultry</option>
                    </select> <select name="SubCategory" id="SubCategory">
                        <option value="7">Cans</option>
                        <option value="8">Bottles</option>
                        <option value="9">Spirits</option>
                    </select>
                    <button type="submit" name="Submit" value="Update">update</button>
                </div></li>
        </ul>
    </form>
    </div>
</body>
</html>

【问题讨论】:

  • 在你的 xhr 中,数据对象应该是`index=${SelectValue}`。然后您将拥有$_POST['index'],其中包含您在 PHP 脚本中可用的选择值。
  • 嘿,诺亚,这是我的错字。它在我的原始代码中,我已经更新了我发布的内容。所以我的问题仍然存在,谢谢
  • 首先检查 //GetSubCat.php 是否正确解析。然后在请求发生之前控制台记录您传递给 ajax 请求的数据。
  • 嘿 Noah,// 是我删除目录路径时的另一个错字,我已经更新了帖子... console.log(SelectValue) 就在 ajax 调用显示正确值之前。无论如何,如果它是空的,上面的 if 语句会捕获它并记录一个错误......现在你可以明白为什么我在挠头了......
  • 你是如何将你的 jquery sn-p 链接到 html 的?我不清楚。如果没有那个链接,帖子仍然可以工作,但不是你可能想要的方式。你能确认一下吗?

标签: javascript php jquery-ui


【解决方案1】:

所以经过多次挠头。并重写代码等。我终于发现,当我在本地 WAMP 服务器上运行时,v3.13 ajax xhr 可能不适用于我的服务器配置!这是一个开箱即用的设置,所以我必须看看我能做些什么来让它工作。一旦我这样做了,我会回帖,因为我确信许多其他人在不知不觉中经历了同样的想法,当它实际上与服务器相关并且不仅限于 WAMP 服务器风格时,它是他们的脚本......

【讨论】:

  • 请在您的回答中提供更多详细信息。正如目前所写的那样,很难理解您的解决方案。
猜你喜欢
  • 2017-04-08
  • 1970-01-01
  • 2015-07-21
  • 1970-01-01
  • 2013-03-03
  • 1970-01-01
  • 2012-05-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多