我看过类似的查询在这里,但我似乎无法将它们应用于我的问题。我对jquery很新,所以我可能会做些愚蠢的事情。 我有一个简单的getJSON测试: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皮棉)
的VAR RC是我用于接收请求的结果具有以下值:
getResponseText \"{\"results\": [{\"fld1\": \"result1\", \"fld2\": \"result2\", \"fld3\": \"result3\"}]}\""
getReadyState 4
getStatus 200
为什么回调函数不会触发?
锚元素具有#的href,因此它保留在页面上。我只附加到这个元素作为一个真正的基本测试页来尝试这个JSON的东西。 – 2009-11-10 10:44:31
就是这样 - 我添加了返回false,并且触发了回调。多么奇怪 - 我曾经想过一个锚链接可以让呼叫完成。 非常感谢。 – 2009-11-10 10:55:02