Javascript 将PHP数据传递给Ajax响应?
我正在使用从internet上找到的脚本来检测访问者的web浏览器详细信息 当我通过ajax调用发送请求时,该脚本就会运行 正如您在php脚本底部看到的,有一个数组Javascript 将PHP数据传递给Ajax响应?,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我正在使用从internet上找到的脚本来检测访问者的web浏览器详细信息 当我通过ajax调用发送请求时,该脚本就会运行 正如您在php脚本底部看到的,有一个数组 return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform,
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);
您可以将数据作为json进行回显:
echo json_encode($myArray);
然后添加数据类型:'json'
,并在javascript中按名称访问属性:
dataType: 'json',
success: function(data) {
var userAgent = data.userAgent;
var name = data.name;
var version = data.version;
}
您可以将数据作为json进行回显:
echo json_encode($myArray);
然后添加数据类型:'json'
,并在javascript中按名称访问属性:
dataType: 'json',
success: function(data) {
var userAgent = data.userAgent;
var name = data.name;
var version = data.version;
}
必须将数组编码为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;
....
}
echo "$u_agent,$bname,$version,$platform,$pattern";
必须将数组编码为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;
....
}
echo "$u_agent,$bname,$version,$platform,$pattern";
不要让php脚本返回数组,而是让它像这样回显信息:
$.ajax({
url: 'analyze.php',
data: "active=active",
dataType: "json",
success: function(data)
{
var userAgent = data.userAgent;
var name = data.name;
var version= data.version;
....
}
echo "$u_agent,$bname,$version,$platform,$pattern";
然后将其转换为数组:
var dataArray = data.split(',');
然后您可以访问每个变量,如下所示:
var userAgent = dataArray[1];
var name = dataArray[2];
var version = dataArray[3];
不要让php脚本返回数组,而是让它像这样回显信息:
$.ajax({
url: 'analyze.php',
data: "active=active",
dataType: "json",
success: function(data)
{
var userAgent = data.userAgent;
var name = data.name;
var version= data.version;
....
}
echo "$u_agent,$bname,$version,$platform,$pattern";
然后将其转换为数组:
var dataArray = data.split(',');
然后您可以访问每个变量,如下所示:
var userAgent = dataArray[1];
var name = dataArray[2];
var version = dataArray[3];
在您的.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;
}
在您的.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;
}
当您
console.log(data)
时会得到什么?您可以将其编码为JSON数据并返回该数据。当您console.log(data)时会得到什么
?您可以将其编码为JSON数据并返回该数据。确保向AJAX调用中添加数据类型:“JSON”
,以使其工作。确保向AJAX调用中添加数据类型:“JSON”
,以使其工作。@SLin您的变量$array,这是从哪里来的?我是否应该将我在解释顶部发布的数组存储在$array中$array=array('userAgent'=>$u\u-agent
等?@AshleyBrown是的,从脚本中获取的数组应该是$array。@在变量$array中,该数组来自何处?我是否应该将我在解释顶部发布的数组存储在$array中?$array=array('userAgent'=>$u_-agent
etc?@AshleyBrown是的,从脚本获得的数组应该是$array。