如何在javascript中分离ajax响应数据

时间:2014-11-05 06:44:47

标签: javascript jquery ajax

我有一个从php页面返回一组值的ajax函数。 我只需要获取值即可。我怎么能这样做

ajax.js

function MakeRequest()
{
  var xmlHttp = getXMLHttp();
  xmlHttp.onreadystatechange = function()
  {
    if(xmlHttp.readyState == 4)
    {
      HandleResponse(xmlHttp.responseText);
    }
  }

  xmlHttp.open("GET", "ajax.php", true); 
  xmlHttp.send(null);
}

ajax.php

<?php
require_once('config.php');
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT * FROM thr';
mysql_select_db($dbname);
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not get data: ' . mysql_error());
}
echo "<table border='1'>";
while($row = mysql_fetch_assoc($retval))
{
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['ther_name'] . "</td>";
echo "<td>" . $row['region'] . "</td>";
echo "<td>" . $row['phone_no'] . "</td>";
echo "<td>" . $row['address'] . "</td>";
echo "<td id='lat'>" . $row['corrd_lattitude'] . "</td>";
echo "<td id='lon'>" . $row['corrd_longitude'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($conn);
?>

我只需要

的值
 $row['corrd_lattitude'] 
 $row['corrd_longitude']

如何获取此

的值

3 个答案:

答案 0 :(得分:2)

首先,您只能从表中获取所需的值。如果我理解正确,您可以使用以下查询。

  $sql = 'SELECT corrd_lattitude,corrd_longitude FROM thr';

它只返回表中的tw0列值。

 $json = json_encode(array($row['corrd_lattitude'],  $row['corrd_longitude']));
 echo $json;

答案 1 :(得分:0)

use json:-----------
=========================================

$sql = "SELECT * FROM thr"; 
$rs = mysql_query($sql);
$res = mysql_fetch_assoc($rs);

if(mysql_num_rows($rs)>0){
echo json_encode(array('lats'=>$res['corrd_lattitude'],'lngs'=>$res['corrd_longitude']));
}else{
echo json_encode(array('lats'=>'','lngs'=''));
}

这里lats和lngs只是变量名,用于在其中存储值,并从lats和longs变量获取其他页面上的值。

答案 2 :(得分:0)

您可以根据您的要求指定参数 在GET方法中:
ajax.php?corrd_lattitude=true&corrd_longitude=true
在php文件中,您可以在$_GET数组中查看:

<?php
[...]
echo "<table border='1'>";
while($row = mysql_fetch_assoc($retval))
{
  echo "<tr>";
  if ($_GET['id'] == true) {
    echo "<td>" . $row['id'] . "</td>";
  }
  if ($_GET['ther_name'] == true) {
    echo "<td>" . $row['ther_name'] . "</td>";
  }
  if ($_GET['region'] == true) {
    echo "<td>" . $row['region'] . "</td>";
  }
  if ($_GET['phone_no'] == true) {
    echo "<td>" . $row['phone_no'] . "</td>";
  }
  if ($_GET['address'] == true) {
    echo "<td>" . $row['address'] . "</td>";
  }
  if ($_GET['corrd_lattitude'] == true) {
    echo "<td id='lat'>" . $row['corrd_lattitude'] . "</td>";
  }
  if ($_GET['corrd_longitude'] == true) {
    echo "<td id='lon'>" . $row['corrd_longitude'] . "</td>";
  }
  echo "</tr>";
}
echo "</table>";
mysql_close($conn);
?>

最好是使用json(或普通值)而不是html - 你的js应该将值打包成html。它对服务器来说更好,客户端应该构建html。为我的英语而烦恼。