0
            $.ajax({
                url: '/ajax/get_rule.php',
                dataType: 'json',
                data: {                 
                    feature : feature,
                    ajax : 1
                },
                success: function(resp) {
                    console.log('in here');
                    console.log('response: ' + resp);

                },
                error : function() {
                    console.log('there was an error...');
                }
            }); 

我正在使用 PHP PEAR Services_JSON类将我的数组编码为 JSON 字符串,然后在响应中回显,如下所示:

echo Registry('json')->encode(array('ajax' => 1, 'feature' => 'rfc1872'));
exit;

在上面的例子Registry('json')中是一个Services_JSON对象。

我也尝试过 PHP 内置函数json_encode

echo json_encode(array('ajax' => 1, 'feature' => 'rfc1872'));
exit;       

这些都不起作用,虽然我没有陷入上面的 jQuery ajax 调用中的错误回调,但我response: [object Object]在 Firebug 中得到了一个空对象的响应值。

为什么我不会收到对带有 JSON 编码字符串的 jQuery 代码的响应?

4

1 回答 1

0

正如 Felix King 在上面的评论中提供的那样,这实际上是由于将 the 强制转换resp为字符串造成的:

console.log('response: ' + resp)

更改为:

console.log(resp);

解决了这个问题。

于 2013-04-16T08:37:53.793 回答