我正在使用我在网上发现的this脚本来检测访问者的网络浏览器详情。
当我通过ajax调用发送请求时,该脚本会运行。
正如您在php脚本底部看到的那样,有一个数组
return array(
'userAgent' => $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
和这个
$ua=getBrowser();
$yourbrowser=
"Your browser: " . $ua['name'] . "
" . $ua['version'] . " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent'];
print_r($yourbrowser);
我怎样才能以这种方式将每个变量传递回ajax。
$.ajax({
url: 'analyze.php',
data: "active=active",
success: function(data)
{
var userAgent = data[1];
var name = data[2];
var version = data[3];
$("#div1").html(userAgent);
$("#div2").html(userAgent);
$("#div3").html(userAgent);
}
});
答案 0 :(得分:3)
您可以将数据回显为json:
echo json_encode($myArray);
然后添加dataType:'json'
并在javascript中按名称访问属性:
dataType: 'json',
success: function(data) {
var userAgent = data.userAgent;
var name = data.name;
var version = data.version;
}
答案 1 :(得分:2)
您必须将数组编码为json对象
echo json_encode($array);
然后ajax调用将如下所示:
$.ajax({
url: 'analyze.php',
data: "active=active",
dataType: "json",
success: function(data)
{
var userAgent = data.userAgent;
var name = data.name;
var version= data.version;
....
}
答案 2 :(得分:0)
不要让php脚本返回一个数组,而是让它回显如下信息:
echo "$u_agent,$bname,$version,$platform,$pattern";
然后将其转换为数组:
var dataArray = data.split(',');
然后您可以像这样访问每个变量:
var userAgent = dataArray[1];
var name = dataArray[2];
var version = dataArray[3];
答案 3 :(得分:0)
在.php文件中
header('Content-Type: application/json'); // Set the header type to json at the top of the file.
echo json_encode($array); // Echo out the array as a json-string.
在你的ajax成功函数中
function (data) {
var foo = data.bar;
}