0

好吧,我正用头撞我的桌子。我在我的 php 脚本中发布到一个方法,我正在返回一个 json 数组

public function test()
    {
              return json_encode($this->runResults() );
            exit;
        }


    }

上面的回声(echo json_encode($this->runResults() )会在下面给你这个

[
{"code":"123456","date_created":"2012-07-09","date_expires":null},{"code":"3453432","date_created":"2012-07-09","date_expires":null},
{"code":"3sdf324","date_created":"2012-07-09","date_expires":null},
{"code":"weewr22","date_created":"2012-07-09","date_expires":"2012-07-19"}
]

现在在我的javascript中我有这个

 $.ajax({

            url : 'test',
            type : 'POST',
            data : {
                data1: adataval,
                data2: bdataval
            },
            success : function(data) {

               alert(data.length);

            },
            error : function() {
            }
        });

当它读取每个字符时,它会在 1000 秒内发出警报。我希望长度应该是 4。所以我将上面的 ajax 更改为此

 $.ajax({

            url : 'test',
            type : 'POST',
datatype: 'json'
            data : {
                data1: adataval,
                data2: bdataval
            },
            success : function(data) {

               alert(data.length);

            },
            error : function() {
            }
        });

如您所见,我添加了数据类型:'json'。但后来我开始收到未捕获的错误:NOT_FOUND_ERR: DOM Exception 8

我究竟做错了什么?

4

2 回答 2

1

试试这个 PHP 脚本

public function test()
{
    echo json_encode($this->runResults());
}

更新 :

也在 ajax 方法中使用dataTypenotdatatype

于 2012-08-01T07:22:08.330 回答
0

alert( $.parseJSON(data).length );
此外,在您的脚本中,您应该将内容类型设置为 json:header('Content-type: application/json');

于 2012-08-01T01:09:52.653 回答