【发布时间】: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'>=></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