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() {
            }
        });

ご覧のとおり、datatype: 'json' を追加しました。しかし、Uncaught Error: NOT_FOUND_ERR: DOM Exception 8 が発生し始めました

私は何を間違っていますか?

4

2 に答える 2

1

このPHPスクリプトを試してください

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

アップデート :

また、ajaxメソッドでは使用しdataTypeないでくださいdatatype

于 2012-08-01T07:22:08.330 に答える
0

alert( $.parseJSON(data).length );
また、スクリプトで content-type を json に設定する必要があります。header('Content-type: application/json');

于 2012-08-01T01:09:52.653 に答える