【问题标题】:JSON response not working?JSON响应不起作用?
【发布时间】:2009-11-05 05:41:04
【问题描述】:

我是 JSON/jQuery 的新手,我正在尝试各种 JSON-AJAX 示例。不幸的是,我的简单代码似乎不起作用。

这是我在 testjs.js 中的 JS/jQuery:

$(document).ready(function(){ 

$("#radio").click(function () { 

    $.getJSON("testphp.php", { testtest: 'blah' }, function(data){
    alert(data.response);
        });
    });
});

这是我在 testphp.php 中的 PHP:

<?
        if(isset($_GET['testtest'])) {
        $arr = array('response'=>'error');
        echo json_encode($arr);
        }
 ?>

    <HTML>
    <HEAD></HEAD>
    <BODY>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script src="testjs.js"></script>
    <input id="radio" type="radio" name="group1" value="radio"> radio<br>
    </BODY>
    </HTML>

当我在浏览器中加载 testphp.php 时,在 firebug 中,我注意到在单击单选按钮后数组正确返回为 {"response":"error"}。但是,警报根本没有出现...

我也尝试过在此处解决的其他类似示例(例如:How to get jSON response into variable from a jquery script),但这些正确的解决方案也不会对我产生警报。我一定是做错了什么……

非常感谢任何想法。谢谢!

【问题讨论】:

  • RageZ 说得对;我强烈建议使用 Firebug(用于 Firefox)来调试 AJAX 问题 - 您可以非常快速地查看从服务器返回的内容,并且您可能会注意到最后的额外 HTML

标签: json jquery


【解决方案1】:

你应该在 json_encode ie 之后放一个骰子

     if(isset($_GET['testtest'])) {
            $arr = array('response'=>'error');
            echo json_encode($arr);
            die();
            }

或者 php 也会输出 html。

【讨论】:

  • 您是否有机会通过单击对勾来验证我的答案!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-17
相关资源
最近更新 更多