很抱歉这个问题,但是我不知道该用什么。
我正在尝试获取通过ajax发送的帖子。
echo $_POST['selected'];
我要随此发送帖子。
$(document).ready(function () {
$("select.js-select").change(function () {
var selected = $(".js-select option:selected").val();
$.post(window.location.pathname, {selected: selected});
});
});
我需要的信息在标题中(已选择:390)
不幸的是,我仍然收到错误消息,提示没有$ _POST ['selected']
我对ajax完全陌生,所以如果我犯了一些基本的错误或其他错误,敬请谅解。
我以前没有发送任何数据。我只是用这些代码进行了测试。 (我不知道如何在此处发布HTML代码,所以我做了一张照片)
此处是要重做的JavaScript。
$(document).ready(function () {
$("select").change(function () {
var selected = $("select option:selected").val();
$.ajax({
type: 'POST',
url: window.location.pathname,
data: {
selected: selected,
}
});
});
});
答案 0 :(得分:0)
观察它的外观
此图在左侧的请求列表中,在底部显示了对PHP脚本的Ajax请求。您正在使用问题中的JS发布数据,并且响应中包含该数据。
图片看起来
现在,您正在列表顶部查看对请求的响应。
因为它在顶部,所以它是对主文档的请求。这意味着它不能是对Ajax请求的响应。
让我们暂时跳过一下命令行。
类型:echo 1
。
它输出1。
现在输入echo
。
它什么也不输出。它不输出1。
当您运行一个程序两次而第二次不提供输入时。它不会像接收到您上次发送的输入一样。
您正在向服务器发出两个请求。它们都导致PHP程序运行。您使用Ajax制作的一个,并将其响应的数据发送给它。您以其他方式(可能是您提交表单,可能是通过链接)制作了另一个,并且不包含数据,因此它的响应就好像您没有包含数据一样。
您需要: