首頁 >web前端 >js教程 >AJAX使用post傳送資料xml格式接受數據

AJAX使用post傳送資料xml格式接受數據

不言
不言原創
2018-07-02 16:21:424128瀏覽

這篇文章主要介紹了關於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