私のシステムには、アクティブなインターフェースのリストを提供するスクリプトがあります -
$ interfaces
eth0
lo
wlan0
ここに私のPHPコードがあります-
<?php
$output=shell_exec('./interfaces');
$string = trim(preg_replace('/\s+/', ' ', $output));
$string = str_replace("\0","",$string);
$data = preg_split('/\s+/',$string); // There was a typo here, changed $output to
// $string
echo json_encode($data);
?>
私のjqueryがあります-
$.getJSON('nw/sample1.php', function(data) {
$(data).each(function(i,item) {
alert(item);
});
});
3
アクティブなインターフェイスの 1 つを強調表示するアラート ボックスが表示されるはずです。
たとえば、1 番目のアラート ボックスは"eth0"
、2 番目のアラート ボックスは と"lo"
表示されますが、期待どおりに機能しません。
私はこれらすべてに慣れていないので、どこが間違っているのかを明確にしてください??
ありがとう
編集 :
ブラウザでの sample1.php の出力
["eth0","lo","wlan0"]
**$.each(data, ...) と $data.each ... ** はどちらも同じように動作します。
console.log(データ) 出力