Php 添加if语句后Ajax不工作?

Php 添加if语句后Ajax不工作?,php,jquery,ajax,Php,Jquery,Ajax,我觉得我犯了一个非常明显的错误。请耐心听我说,我刚刚开始学习jquery和ajax 基本上,我认为我的if语句有问题。其他一切都正常工作:ajax调用成功,返回的数据值为“否”。但是,只要我输入if语句,if语句中的所有命令都无法运行。我做错了什么 Html: <button class='clicky'>Click Me</button> <section class='modal'> <p>Some text</p> &l

我觉得我犯了一个非常明显的错误。请耐心听我说,我刚刚开始学习jquery和ajax

基本上,我认为我的if语句有问题。其他一切都正常工作:ajax调用成功,返回的数据值为“否”。但是,只要我输入if语句,if语句中的所有命令都无法运行。我做错了什么

Html:

<button class='clicky'>Click Me</button>

<section class='modal'>
    <p>Some text</p>
</section>


<script>
        $(document).ready(function(){
            $(".clicky").on('click', function(){
                $.ajax({
                    url: "indexFunct.php", 
                    type: "POST", 
                    success: function(data){
                        //alert with data if successfully called ajax; showed data = "no" 
                        //alert(data); 

                        //does not alert with data if code for alert is inside if statement 
                        if(data==='no')
                        {
                        alert(data);
                        }
                    }, 
                    error: function(er){
                        alert('error'); 
                    }
                })
            }); 
        }); 
    </script>
点击我
一些文本

$(文档).ready(函数(){ $(“.clicky”)。在('click',function()上{ $.ajax({ url:“indexFunct.php”, 类型:“POST”, 成功:功能(数据){ //如果成功调用ajax,则使用数据发出警报;显示数据=“否” //警报(数据); //如果警报代码在if语句中,则不使用数据发出警报 如果(数据=='no') { 警报(数据); } }, 错误:函数(er){ 警报(“错误”); } }) }); });
test.php:

<?php echo "no"; ?> 


您的
if(data==='no')
不起作用的明显原因是
数据
不是
。例如,它可以是
“no”
(带结尾空格)或
“no\n”
,其中
\n
换行符

为什么在输出中有空格或换行符?因为php文件中有它们

怎么办?手动删除它们

如果您的php文件仅由php代码组成,您可以省略关闭
?>
,以便在上次
echo
之后不输出任何内容,那么test.php将变为:

<?php echo "no";
解决方案:
放置
console.log(数据)
并验证响应


您的数据有一个空格“
”,请尝试删除php文件中的
?>
。hmmm可能在
?>
之后有一些空格,它们会作为响应返回;因此,等式
data=='no'
失败。尝试删除
?>
之后的所有空格和换行符。如果使用
==
而不是像
那样的
(数据=='no')
@Pierre改变了主意,那么它能起作用吗,lol)))您的ajax请求指向
indexFunct.php
,但是您已经显示了
test.php
中的代码,
indexFunct.php
做了什么
test.php
没有做什么?