【问题标题】:How to make AJAX read back response without page's source and without JSON?如何在没有页面源和 JSON 的情况下使 AJAX 回读响应?
【发布时间】:2014-10-27 14:13:42
【问题描述】:

我使用以下代码提交表单:

$.ajax({
    url: $('#myForm').attr('action'),
    url: 'index.php',
    type: 'post',
    /*dataType: 'html json', *///tell the server that you expect json 
    data: {
        "num"     : $('#myNum').val(), 
    },
    success: function(response) {
        alert(response);
        if ( check_validate() == 1) {
            alert(response);
        }
        else {}
    }
});

然后在 PHP index.php 我有:

if (isset($_POST["num"])) {
    $num = $_POST["num"];
    if($num == 1) 
        echo "sure!"; 
}

带有sure! 和整个index.php 页面源代码的JS 弹出窗口。有没有办法删除源代码并只显示响应而不将dataType 设置为JSON

【问题讨论】:

  • die(), exit ... 是你的朋友!
  • 所以大概在你的小if() 块之后你有更多的代码/html?输出“确定!”后只需 exit()

标签: javascript php ajax json forms


【解决方案1】:

输出后停止脚本执行:

//must be before any other output, eg at top of file
if (isset($_POST["num"])) {
    $num = $_POST["num"];
    if($num == 1) 
        echo "sure!";
        die(); 
}

【讨论】:

  • return; 给我一个错误。 die(); 就像一个魅力。
【解决方案2】:
if (isset($_POST["num"])) {
    $num = $_POST["num"];
    if($num == 1) 
        echo "sure!";
    return; 
}

【讨论】:

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
  • 我没有足够的声誉来发布 cmets,现在我可以了 :)
猜你喜欢
  • 2018-09-15
  • 1970-01-01
  • 2017-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-11
  • 2011-11-16
相关资源
最近更新 更多