在 JQuery ajax Get 中我使用以下内容,
var htm = $.ajax({
type: "GET",
url: "http://localhost/cake_1.2.1.8004/index.php/forms/getFormEntry",
async: false
}).responseText;
alert(htm);
var myObject = eval('(' + htm + ')');
alert(myObject);
我的 getFormEntry 的 cakePHP 代码是
$data = array();
foreach ($formid as $r):
array_push($data, array('id' => $r['Form']['id']));
endforeach;
echo json_encode(array("attributes" => $data));
我的
alert(htm)
显示
Array{"attributes":[{"id":"21"},{"id":"20"},{"id":"19"},{"id":"18"},{"id":"17"},{"id":"16"},{"id":"15"},{"id":"14"},{"id":"13"},{"id":"12"},{"id":"11"},{"id":"10"},{"id":"9"},{"id":"8"},{"id":"7"},{"id":"6"},{"id":"5"},{"id":"4"},{"id":"3"},{"id":"2"},{"id":"1"}]}
我想获取属性id -21。 为此,我使用了 myObject,但在括号中显示错误为缺少 )。
请建议如何解决此问题。
您想要使用 jQuery 的内置 JSON 支持。另外,您可能不想使用同步 Ajax。尝试以下操作; Ajax 请求完成后,该函数将被调用,并且您将可以在函数中以“json”形式访问 JavaScript 对象。
$.getJSON("http://localhost/cake_1.2.1.8004/index.php/forms/getFormEntry", function(json) {
// access to object here as "json". No need to mess with eval
})