每当返回“data.res”结果变量包含成功消息时,我都有一个小问题要显示按钮选择器“#view_btn”。
脚本有效,但成功时“#view_btn”选择器根本不会显示。
如果我在 if 语句中将“data.res”替换为“data”,那么即使它应该隐藏,该按钮也会始终显示。
我在做什么错了?有人可以帮忙吗?谢谢。
// This is the PHP script: hello.php
<?php
// some code goes here:
if(isset($error))
{
echo json_encode(array("res"=>'error',"msg"=>$error));
}
else if (isset($success))
{
echo json_encode(array("res"=>'success',"msg"=>$success));
}
else
{
echo json_encode(array("res"=>'message',"msg"=>$message));
}
?>
这是 index.php HTML 标头中的 JQuery。
</script>
$(function() {
$("#submit_btn").click(function() {
var pid = $('#prod').attr("dir");
var base_url = "<?php echo $base_URL; ?>/my_ajax/"+ pid +"/hello.php";
$('#loading').show('fast');
$.ajax({
type: "POST",
url: base_url,
data: $("#pdForm").serialize(), // serializes the form's elements.
cache: false,
dataType:"json"
}).done(function( data ) {
$('#loading').hide('fast');
if(data.res == 'success' ){
$('#view_btn').show(); // show the button
alert(data.msg); // show response from the php script.
}else if (data.res == 'error') {
$('#view_btn').hide(); // hide the button
alert(data.msg); // show response from the php script.
}else if (data.res == 'message') {
$('#view_btn').hide(); // hide the button
alert(data.msg); // show response from the php script.
}else {
$('#view_btn').hide(); // hide the button
alert('Query data failed or invalid!'); // show response.
}
}, "json");
return false; // avoid to execute the actual submit of the form.
});
});
</script>