为什么Ajax XMLHttpRequest POST方法传递参数失败了
XMLHttpRequest 可以Get,也可以Post向服务器传递参数
var xhr = new XMLHttpRequest();
$(document).ready(function(){
$("button").click(function(){
var paras = 'firstname=zhang&lastname=san';
//Get 方式,直接将参数放到URL链接中
xhr.open("get","God.asp?firstname=zhang&lastname=san&toGod=Gold");
xhr.send(null);
//Post 方式,参数放在单独的请求中
xhr.open("post","God.asp");
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
xhr.send('firstname=zhang&lastname=san');
如果Post方式,需要指定内容的格式:
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
后台使用ASP
<%
dim fn
fn = Request.querystring("firstname")
if (fn = "") then
fn = Request.Form("firstname")
end if
dim ln
ln = Request.querystring("lastname")
if (ln = "") then
fn = Request.Form("lastname")
end if
%>
对于Get方式传参, 使用Request.querystring();
而是用Post方式传参,使用Request.Form()
当然,POST传递参数,有四种方式,
form-data、x-www-form-urlencoded、raw、binary
有兴趣的同学,可以再研究一下。