JAVASCRIPT
$(document).ready(function() {
$("#p").change(function () {
var p_id = $(this).val();
console.log(p_id);
$.ajax({
url: "m/a/a.class.php",
method: "POST",
data: {pId: p_id},
success: function (data)
{
console.log(data); //<------ this gives me an empty output
alert("success!");
}
});
});
});
我试图从选择器中获取选定值的ID,当我更改选择器时,我收到警报“成功!”。并在控制台中显示结果,这是正确的。当我想在使用ajax的PHP中使用此结果时,它给我一个奇怪的输出,因此我不能在以下sql语句中使用该变量。
我在做什么错?为了让您理解,我想获取产品的发布输入,因此我可以通过“产品”的ID过滤下一个选择器,因此我要获取依赖的选择器“ onchange”。我已经读过许多其他问题,当我在成功函数中使用类似以下内容的方法时,它也可以在其他示例中使用:
success: function (data)
{
$('#state').html(data);
}
但这在这里的示例中不起作用,因为当我使用“ $ _POST ['produkt_id']”时,它要么给我一个空查询,要么出现错误,因为它从我的计算机中传递数据屏幕截图。在此先感谢您,并随时提出问题。
更新:
这是我要获取先前输入的地方。
case 'linie':
if(isset($_POST['pId'])) {
$t = $_POST['pId'];
$sql = 'SELECT id, bezeichnung '
. 'FROM l "
. 'LEFT JOIN ' .produkte p ON p.id=l.p_id '
. 'WHERE l.p_id =' . "$t" . 'AND l.deleted=0 AND p.deleted=0 '
. 'ORDER BY l.bezeichnung ';
break;
}
答案 0 :(得分:0)
错误说明了这一点。您使用的PHP调用了“ include_once”,而您要包含的文件不存在。 使得PHP返回带有错误的响应,并且由于该错误文本,该响应不再是有效的JSON。
答案 1 :(得分:0)
在您的ajax代码中,您应该放置文件请求的url路径,而在项目系统中放置文件路径,这就是为什么ajax文件找不到并包含要执行ajax请求的文件的原因
$.ajax({
url: "modules/ausschuss/ausschuss.class.php", //remove this
url: "full url for your file execution"
method: "POST",
data: {produkt_id: produkt_id},
success: function (data)
{
alert("success!");
}
});