Javascript getJSON回调没有发生

Javascript getJSON回调没有发生,javascript,jquery,callback,getjson,Javascript,Jquery,Callback,Getjson,我在这里看过类似的查询,但我似乎无法将它们应用于我的问题。我对jquery非常陌生,所以我可能在做一些愚蠢的事情。 我有一个简单的getJSON测试: $(document).ready(function() { $(".testurl").click(function() { // do a json call var url="testjson.php"; var rc=$.getJSON( url, {parm1: "P1", parm2: "P2"

我在这里看过类似的查询,但我似乎无法将它们应用于我的问题。我对jquery非常陌生,所以我可能在做一些愚蠢的事情。 我有一个简单的getJSON测试:

 $(document).ready(function() {
  $(".testurl").click(function() {
   // do a json call
   var url="testjson.php";
   var rc=$.getJSON(
    url,
    {parm1: "P1", parm2: "P2", parm3: "P3"},
    function(data){
     alert("callback function inline");
   });
   var x = 1;
  });
 });
这需要一个非常简单的脚本:

  header("Content-Type: application/json");
  echo "{\"results\": [";
  $arr = array();
  $arr[] = "{\"fld1\": \"result1\", \"fld2\": \"result2\", \"fld3\": \"result3\"}";
  echo implode(", ", $arr);
  echo "]}";
返回有效的JSON(我检查了JSON lint)

我用于接收请求结果的var rc具有以下值:

getResponseText \"{\"results\": [{\"fld1\": \"result1\", \"fld2\": \"result2\", \"fld3\": \"result3\"}]}\"" 
getReadyState 4
getStatus 200

为什么不启动回调函数?

如果单击处理程序附加到锚元素,那么ajax调用在重定向到其他页面之前可能没有时间执行。尝试将
return false
添加到单击回调:

$(".testurl").click(function() {
    // do a json call
    // ...
    return false;
});

$.getJSON调用只是分配给一个变量,没有调用它

我把它赋给一个变量,只是为了看看结果是什么。当我删除赋值时,函数仍然不会触发。锚元素的href为#,因此它保留在页面上。我只是将这个元素作为一个基本的测试页面附加到这个JSON元素上,我添加了returnfalse,并触发了回调。真奇怪,我原以为锚定链接会让通话完成。非常感谢。