dojo使用post方式发送数组请求

前端之家收集整理的这篇文章主要介绍了dojo使用post方式发送数组请求前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

最近做了dojo1.9的程序,发现用post方式可以向数据库端发送数组参数,后台用的是PHP+MysqL数据库

前台代码

/post方式发送大量数据

request.post("./data.PHP",{

query:{

funcname:"queryGasStationArray"//PHP端可以用$funcname=$_GET["funcname"];//获得funcname的值,即“queryGasStationArray

},

data:arrayList.toArray(),

handleAs:"xml",

timeout:1000

}

).then(function(data){//处理返回的数据

Varc=data.getElementsByTagName("gastation");//标签名,看下面的xml数据格式输出

},function(error){

console.log(error);

});

其中arrayList是一个ArrayList对象,不明白的可以查帮助。用toArray函数将它转化为数组,就可以发送了。

后台代码

<?PHP

header('Content-Type:text/xml');

header("Cache-Control:no-cache,must-revalidate");

//Adateinthepast

header("Expires:Mon,26Jul199705:00:00GMT");

header("Access-Control-Allow-Origin:*");

$funcname=$_GET["funcname"];

$con=MysqL_connect('localhost','zhengluchuan','1234567');

if(!$con)

{

die('Couldnotconnect:'.MysqL_error());

}

MysqL_select_db("automobileServiceSystem",$con);

switch($funcname){

case"queryGasStationArray":

echo'<?xmlversion="1.0"encoding="utf-8"?>

<gasStations>';

$stationArray=$_POST;//获得所有用post方式获得的数据,即dojodata参数中的内容。其实是个数组

$count=count($stationArray);//获得数组的长度

if($count>0){

for($i=0;$i<$count;$i++){//遍历数组输出

$sql="SELECT*FROM加油站WHEREname='".$stationArray[$i]."'";//查询数据库

$result=MysqL_query($sql);

while($row=MysqL_fetch_array($result))

{

echo"<gastation>";

echo"<oil>".$row['oil']."</oil>";

echo"<details>".$row['details']."</details>";

echo"<MapX>".$row['MapX']."</MapX>";

echo"<MapY>".$row['MapY']."</MapY>";

echo"</gastation>";

}

}

}

echo"</gasStations>";

break;

default:

echo"没有此查询条件,请确认后重试!";

break;

}

?>

猜你在找的Dojo相关文章