首页  >  文章  >  web前端  >  AJAX使用post发送数据xml格式接受数据

AJAX使用post发送数据xml格式接受数据

不言
不言原创
2018-07-02 16:21:424095浏览

这篇文章主要介绍了关于AJAX使用post发送数据xml格式接受数据,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

AJAX使用post发送数据xml格式接受数据,需要的朋友可以参考一下

注意点:

 1. 用POST发送数据,在2号线函数(也是ajax发送数据的函数:ajaxCall)必须加上一句:xmlObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

接着使用xmlObject.send(data);发送

2.3号线函数要注意:

  1.禁用缓存(建议,不必要):header("Cache-Control:no-cache");

  2.使用XML数据格式必须加上:header("Content-Type: text/xml; charset=gb2312");//这里要写XML

  3.若使用WAMP5集成环境安装的MYSQL,在查询数据库时候,必须加上:

    $charset = "gb2312";

    mysql_query("SET character_set_connection=$charset, character_set_results=$charset, character_set_client=binary"); //这句是必须的,解决中文乱码加密问题s

   否则就会乱码加密,今天我就是在这里浪费了很久时间,我是用ECSHOP GBK版 默认安装的数据库

 4.若用XML接受数据,回调函数必须分IE和非IE处理,否则总是有一方娶不到XML数据

  处理代码如下:

function getXMLData(tagName)//获取XML数据,分IE和非IE处理
{
var info;
if(window.ActiveXObject) //IE取回XML文件方法
{
var doc = new ActiveXObject("MSxml2.DOMDocument");
doc.loadXML(xmlObject.responseText);
info = doc.getElementsByTagName(tagName);
}
else //---------------------------非IE取回XML文件方法
{
info = xmlObject.responseXML.getElementsByTagName(tagName);
}
return info;
}

下面就是我做的一个省市联动测试

代码如下:

index.php




省事联动测试






chuli.php
<?php//3号线header("Cache-Control:no-cache");
header("Content-Type: text/xml; charset=gb2312");//这里要写XML
require("function.php");
$id = $_POST[&#39;id&#39;];
file_put_contents("my1.txt",$act . "------" . $ziduan);
$result = getresultById($id);
$info = "<mes>";
foreach($result as $row){$info .= "<res>";
$info .= "<id>" . $row[&#39;region_id&#39;] . "</id>";
$info .= "<name>" . $row[&#39;region_name&#39;] . "</name>";
$info .= "</res>";}
$info .= "</mes>";
echo $info;
?>

3.数据库函数

function.php

<?php
function getresultById($id)
{
$con = mysql_connect("localhost","root","");
if($con)
{
$charset = "gb2312";
mysql_query("SET character_set_connection=$charset, character_set_results=$charset, character_set_client=binary"); //这句是必须的,解决中文乱码加密问题s
mysql_select_db("ajax",$con);
$sql = "select * from ecs_region where parent_id = &#39;$id&#39;";
$res = mysql_query($sql);
$arr = array();
while($row = mysql_fetch_assoc($res))
{
$arr[] = $row;
}
return $arr;
}
return false;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

ajax实现输入框文字改变展示下拉列表的效果

Ajax中通过JS代码自动获取表单元素值

以上是AJAX使用post发送数据xml格式接受数据的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn