2016-12-01 5 views
0

json形式のajax応答があります。その後、私のjavascript(ajaxレスポンスの成功)では、私は2つの配列stringifyを持っています。今私は2つの変数に1つの中かっこでデータを配置し、別の2つの変数で他の中かっこを配置する必要があります。jsonは2つの配列をjavascriptを使用して変数に配置するために必要です。

ここでコード

var results = JSON.stringify(result).substr(1,JSON.stringify(result).length-2); 

はここでアヤックス(.jsファイル)(それの一部になりまし全体コード)だだ

$.ajax({ 
    url: "ajax/default_q.php", 
    dataType: "json", 
    type: 'POST', 
    data: {dtime: n}, 

    success: function(result) { 
    var results = JSON.parse(result); 
    var mtime = results.microtime; 
    var srp = results.srp; 

    alert(mtime); 
    alert(srp); 

ここではPHPは

$sql = "SELECT microtime,srp FROM loading WHERE submit_id = 'XXXXXXXXXXXXXXXXXX' AND microtime BETWEEN UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 30 day)) and 1480573758"; 
$res = mysqli_query($GLOBALS['link'],$sql); 
while($row = mysqli_fetch_assoc($res)){ 
    $content[] = $row; 
} 
echo json_encode($content); 

enter image description here

です

OK。私は、黄色でhighligthedされているmicrotimeが変数に格納されるようにしたいので、私はそれはまったく同じではありませんが、下の写真のようになります警告する場合。そして、srpと同じです。

enter image description here

どのように私はそれを実現します。助けてください/。

+0

StringifyではなくJSON.parseが必要です。StringifyはオブジェクトをJSON文字列にすることです。 JSON.parseは、JSON文字列をオブジェクトにすることです。 – Keith

+0

JSON.parseを使用すると、次のようなエラーが表示されます。位置1のJSONの予期しないトークンo – Ligthers

+0

これは、JQuery ajaxがJSON.parseを実行したためです。だから、 'results [0] .microtime'を実行してください。 '[0]'に注目してください。あなたの例を見ると、JSONは配列であるようです。 – Keith

答えて

1

JSON ajaxレスポンスを解析し、substrを使用して文字列を分割する代わりに、objectとしてトラバースすることができます。あなたは既にjQueryのは、すでにオブジェクトにJSON文字列解析されたdataType: "json"を使用しておりますので

var results = JSON.parse(result); 
var mtime = results[0].microtime; 
var srp = results[0].srp; 

更新

。 JSONを明示的に解析する必要はありません。更新されたコードは次のとおりです。

var mtime = results[0].microtime; 
var srp = results[0].srp; 

すべての値をトラバースするために配列をループすることができます。

+0

JSON.parseを使用するたびに、次のようなエラーが表示されます。** JSONの予期しないトークンo(位置1)** – Ligthers

+0

完全なJSON応答を投稿してください。 – Samir

+0

どのように聞かれるかもしれません。申し訳ありません、私は本当にjavascriptにはありません。 – Ligthers

関連する問題