JS与Ajax Get和Post在使用上的区别实例详解

get和post方法最大的不同在于:

1.get方法传值参数在url里面,而post参数放send里面

2.post方法必须加上

xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

下面实例可以看get方法

xmlHttp.open("GET","for.php?text="+url,true);

在post里面表现为:

xmlHttp.open("POST","for.php",true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

POST和GET方法共用文件

index.php

<script src="a.js" type="text/javascript"></script>
<a href="#" onClick="funphp100('o')">o</a>
<a href="#" onClick="funphp100('t')">t</a>
<a href="#" onClick="funphp100('x')">x</a>
<div id="php100"></div>

POST方法文件:

a.js

var xmlHttp; 
function S_xmlhttprequest(){ 
if(window.ActiveXObject){ 
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
}else if(window.XMLHttpRequest){ 
xmlHttp=new XMLHttpRequest();
}
}
function funphp100(n){
var data = "text=" +n;  //多个参数的,往后加
S_xmlhttprequest();
xmlHttp.open("POST","for.php",true); 
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange=byphp;
xmlHttp.send(data);
}
function byphp(){
var byphp100=xmlHttp.responseText;
document.getElementById("php100").innerHTML=byphp100;
}

for.php:

<?
echo $_POST['text'];
?>

GET方法文件:

a.js:

var xmlHttp; 
function S_xmlhttprequest(){ 
if(window.ActiveXObject){ 
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
}else if(window.XMLHttpRequest){ 
xmlHttp=new XMLHttpRequest();
}
}
function funphp100(url){
S_xmlhttprequest();
xmlHttp.open("GET","for.php?text="+url,true); 
xmlHttp.onreadystatechange=byphp; 
xmlHttp.send(null);
}
function byphp(){
var byphp100=xmlHttp.responseText;
document.getElementById("php100").innerHTML=byphp100;
}

for.php:

<?
echo $_GET['text'];
?>

相关推荐