Я смотрел подобные запросы здесь, но я не могу применить их к моей проблеме. Я довольно новичок в 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)
Переменная rc, которую я использую для получения результата запроса, имеет следующие значения:
getResponseText \"{\"results\": [{\"fld1\": \"result1\", \"fld2\": \"result2\", \"fld3\": \"result3\"}]}\""
getReadyState 4
getStatus 200
Почему функция обратного вызова не срабатывает?