$(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},
dataType: "text",
success: function (data) {
console.log(data); //<------
}
});
});
我想将数据传递给PHP,但是当我尝试将其用于查询时,它为空,因此我在AJAX脚本前后添加了console.log
。
在给我选定产品的正确值("id")
之前,例如“ 9”,但是AJAX脚本中的console.log
仅返回空值“”。
这是什么问题?我会错过理解AJAX的代码吗?
更新:
case 'linie':
if (isset($_POST['pId'])){
$t = $_POST['pId'];
}
$sql = 'SELECT l.id, l.bezeichnung as bezeichnung '
. 'FROM l "
. 'LEFT JOIN 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;
这是我的PHP代码的相关部分,我尝试获取先前的输入。
更新2:
$(document).ready(function () {
$("#p").change(function () {
var p_id = $(this).val();
console.log(p_id);
$.ajax({
method: "POST",
url: "m/a/a.class.php",
data: { pID: $('#p').val() },
async: true,
dataType: 'text', (...)
当我将其更改为它时,它对我有用:)
答案 0 :(得分:2)
我想您正在播放数据数据。
此数据
data: {produktId: p_id},
与此数据不同
success: function (data) {
更好的书写方式是
$("#produkt").change(function () {
var p_id = $(this).val();
console.log(p_id); //<-------
$.ajax({
url: "modules/ausschuss/ausschuss.class.php",
method: "POST",
data: {produktId: p_id},
dataType: "text",
success: function (response) {
console.log(response); //<------
}
});
});
注意success
块参数
因此,数据data: {produktId: p_id},
是详细信息,您将传递给ajax调用。
ajax调用可能返回也可能不返回响应,该响应在成功块中以response
的形式返回。