同时发送GET和POST AJAX请求

时间:2010-07-20 16:28:03

标签: javascript ajax

我只是想知道是否可以同时发送GET和POST AJAX请求,以及如何使用XMLHttpRequest对象进行操作。

感谢所有人的帮助:D

3 个答案:

答案 0 :(得分:5)

POST发送请求。 HTTP请求只能有一个方法,但没有什么能阻止您使用POST URL上的参数。

如果您POSThttp://example.com/form?foo=bar,您仍然可以foo作为GET参数访问。


以下是使用jQuery的示例:

$.post("http://example.com/form?" + $.param({foo: "bar"}), {text: tinyMCEBody})

没有jQuery,看起来更像是这样:

…
request.open("POST","form?foo=bar",true);
request.send("text=" + encodeURIComponent(tinyMCEBody));
…

答案 1 :(得分:0)

你的意思是你想发送一些查询字符串值和你的POST?当然只是将它们附加到帖子URL?

答案 2 :(得分:0)

您可以制作XMLHttpRequest的两个实例吗?所以你可以:

获取

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp1=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp1.onreadystatechange=function()
  {
  if (xmlhttp1.readyState==4 && xmlhttp1.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp1.responseText;
    }
  }
xmlhttp1.open("GET","ajax_info.txt",true);
xmlhttp1.send();
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>

</body>
</html>

发表

<html>
<head>
<script type="text/javascript">
function loadXMLDoc2()
{
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp2=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp2=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp2.onreadystatechange=function()
  {
  if (xmlhttp2.readyState==4 && xmlhttp2.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp2.responseText;
    }
  }
//Set POST params
var params = "lorem=ipsum&name=binny";

xmlhttp2.open("POST","ajax_info.txt",true);
xmlhttp2.send(params);
}
</script>
</head>
<body>

<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc2()">Change Content</button>

</body>
</html>

我改变的只是对象xmlhttp1=new ActiveXObject("Microsoft.XMLHTTP")xmlhttp2=new ActiveXObject("Microsoft.XMLHTTP")

的名称

取自W3Schools http://www.w3schools.com/ajax/default.asp