我试图在页面上显示值,但是值的显示发生在console.log上。
的script.js
$(document).ready(function()
{
$('.variant_model').on('click', function()
{
var model_id = $(this).attr("id");
$.ajax({
type: "POST",
url: url,
data: 'model_id='+model_id,
success: function(data)
{
console.log(data);
}
});
});
});
的script.php
if(isset($_POST["model_id"]))
{
$return = $_POST["model_id"];
var_dump($return);
die();
}
$result = $DB->query('SELECT variant_model_name FROM variant_model WHERE model_id = "'.$return.'"');
...
答案 0 :(得分:1)
在你的script.php中,你可以回复它而不是var_dump():
echo $return;
exit();
然后在你的script.js中你可以用.html()方法将它分配给一个元素体:
$('#showmodelid').html(data);
要使其正常工作,您必须拥有一个带有ID' showmodelid'在您的HTML正文中:
<h1>Model ID is: <span id="showmodelid"></span></h1>
您还可以保留console.log()语句以进行调试。但这不是为了在页面上显示内容。
已更新
修改script.php如下:
$return = $POST['model_id'];
$result = $DB->query('SELECT variant_model_name FROM variant_model WHERE model_id = "'.$return.'"');
echo json_encode($result);
exit();
现在按如下方式更新您的script.js:
// in ajax response
parseddata = JSON.parse(data);
$('#showmodelname').html(parseddata.variant_model_name);
有一个html元素来显示结果:
<h1>Model Name is: <span id="showmodelname"></span></h1>
应该这样做。
答案 1 :(得分:0)
确定。看完所有帖子后。我想我应该告诉你这里发生了什么。尝试一下。
<强>解决方案强>
if(isset($_POST["model_id"]))
{
$return = $_POST["model_id"];
$result = $DB->query('SELECT variant_model_name FROM variant_model WHERE model_id = "'.$return.'"');
return $result;
}
<强>推理强>
因为你有
var_dump($return);
die();
在PHP中,即使值正确发布,die()
退出函数调用,它会将发布的值返回给ajax。删除die()
,您的代码应该有效。此外,我调整了内部条件,因为我假设它应该只在model_id
存在时进行查询。无论如何,你在这里做你需要的。
应用上述更改后,如果您检查控制台console.log(data)
应该为您提供所有查询结果。现在,您可以使用html()
或append()