2017-02-20 5 views
1

私はJavaScriptで次のコードを持っている:私はget_link.phpから情報を取得したい2つの変数でJquery応答を取得するには?

 $.ajax({ 
     type : "POST", 
     url : "get_link.php", 
     data: { 
     }, 
     success:function (data) { 
      links = data; -> Here needs to be the first line of the query 
      seconds = data2; -> Here needs to be the second line of the query 


     } 
    }); 

を、get_link.phpはこのようなものです:

["http://stackoverflow.com", "http://mywebsite.com"] 
[10, 100] 

私は情報を取得したいです私は最初の行と秒、2番目の行のリンクで変数を定義したいので、プレーン。 おかげ

+0

これは、配列の配列を返しますか? 'data [0]'と 'data [1]'を試してみてください。 –

+2

PHPサーバーを制御できますか?それがjsonオブジェクトを返すようにして、 'data.links'と' data.seconds'でデータにアクセスすることができます –

+0

返される情報は無効ですJSON。それを有効にすることはできますか?文字列の配列の配列、または配列の配列を持つオブジェクトのようなもの?あるいは、その応答を代わりに文字列として解析する必要がありますか? – David

答えて

0

スプリット改行文字の応答:

success: function(data) { 
    var lines = data.split('\n'); 
    var links = JSON.parse(lines[0]); 
    var seconds = JSON.parse(lines[1]); 
    ... 
} 

しかし、あなたは2次元配列を含む単一のJSONを返した場合、それが良いだろう。

$seconds = array(); 
$links = array(); 
while ($row = mysqli_fetch_assoc($result)) { 
    $seconds[] = $row['seconds']; 
    $links[] = $row['links']; 
} 
echo json_encode(array('seconds' => $seconds, 'links' => $links)); 

あるいはさらに良い、一緒に関連するデータを保管してください:

$results = array(); 
while ($row = mysqli_fetch_assoc($result)) { 
    $results[] = array('seconds' => $row['seconds'], 'link' => $row['link']); 
} 
echo json_encode($results); 

これが生成されます。

[{"seconds": 10, "link": "http://stackoverflow.com"}, 
{"seconds": 100, "link": "http://mywebsite.com"}] 
+0

このようなことを意味しますか?:$ result = mysqli_query($ connect、$ sql); $秒= 0; while($ row = mysqli_fetch_assoc($ result)){ $ links = $ row ["link"]; $ seconds = $ row ["seconds"]; } 戻り値配列($ seconds、$ links); } $ array = getlink(); $ seconds = $ array [0]; $ links = $ array [1]; $ variable = array( 'seconds' => "$ seconds"、 'links' => "$ links"); echo json_encode($ variable、JSON_UNESCAPED_SLASHES);このレスポンスの取得{"seconds": "100"、 "links": "http://stackoverflow.com"} –

+0

あなたはそれをどうするべきかを示すために答えを更新しました。 – Barmar

+0

オクラホマ、そしてJavaScriptでどうすればいいですか?申し訳ありませんが、javascriptで新しいです。ありがとうございます –

0

を応答は、アレイの1列である場合は、データとそれにアクセスすることができますが、[ 0]およびデータ[1]を含む。応答がわずか2(または複数)のオブジェクトが含まれている場合は は、私はあなたがちょうどそうのようなあなたの成功の関数を定義することができると思う:

success:function (dataLinks, dataSeconds) { 
      links = dataLinks; 
      seconds = dataSeconds; 
     } 
関連する問題