Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在事件处理程序中不使用XHR发送http请求_Javascript_Send - Fatal编程技术网

Javascript 在事件处理程序中不使用XHR发送http请求

Javascript 在事件处理程序中不使用XHR发送http请求,javascript,send,Javascript,Send,如何使用javascript作为eventhandler使用post/get方法发送http请求?谢谢Paul您可以使用它从javascript发送请求 发送GET请求 var url = "get_data.php"; var params = "lorem=ipsum&name=binny"; http.open("GET", url+"?"+params, true); http.onreadystatechange = function() {//Call a function

如何使用javascript作为eventhandler使用post/get方法发送http请求?谢谢Paul

您可以使用它从javascript发送请求

发送GET请求

var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("GET", url+"?"+params, true);
http.onreadystatechange = function() {//Call a function when the state changes.
    if(http.readyState == 4 && http.status == 200) {
        alert(http.responseText);
    }
}
http.send(null);
发送POST请求

var url = "get_data.php";
var params = "lorem=ipsum&name=binny";
http.open("POST", url, true);

//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", params.length);
http.setRequestHeader("Connection", "close");

http.onreadystatechange = function() {//Call a function when the state changes.
    if(http.readyState == 4 && http.status == 200) {
        alert(http.responseText);
    }
}
http.send(params);
在用户输入的情况下,不要忘记使用参数值编码的
encodeURIComponent
对参数进行编码

e、 g

使用

示例代码:

var client = new XMLHttpRequest();
client.onreadystatechange = handler;
client.open("GET", "test.xml");
client.send();

function handler()
{
   // your handler
}
Ajax教程()


执行此操作的标准类是
XmlHttpRequest
,但它并没有得到普遍支持。在某些浏览器上,您必须使用
ActiveXObject(“Microsoft.XMLHTTP”)

查看提供HTTP下载(AJAX风格)方法的系统,而不考虑底层浏览器API(因此避免了Tzury回答中显示的大量代码)


jQuery AJAX文档位于

好的,您不想使用AJAX。 您可以使用事件处理程序提交表单

<a href='#' onclick='cow_submit("zoodle")'>send</a>
<form method='post' id='formie' action='find_some_action.php'>
  <input type='hidden' id='snoutvar' name='snoutvar' value='snout'>
</form>

<script>
function cow_submit(a_var_to_set){
  var plip=document.getElementById('formie');
  var snout=document.getElementById('snoutvar');
  snout.value=a_var_to_set;
  plip.submit();
  }

函数cow\u submit(变量到集合){
var plip=document.getElementById('formie');
var snout=document.getElementById('snoutvar');
snout.value=a_var_to_set;
plip.submit();
}

请参见

您应该尝试在隐藏字段中添加atring,然后调用form.submit()将表单提交到“定义在操作中”页面

<script type="text/javascript">
  function doTestFormSubmit(yourString) {
    document.getElementById("myString").value=myString;
    document.getElementById("testForm").submit();
  }
</script>
<form name="testForm" id="testForm" action="yourDesiredPage.php" method="post">
   <input type="hidden" name="myString" id="myString" value=""/>
</form>

函数doTestFormSubmit(您的字符串){
document.getElementById(“myString”).value=myString;
document.getElementById(“testForm”).submit();
}

这就是所谓的Ajax,谷歌会比我们更快地帮助您;)很抱歉,我没有把问题说清楚:我试图做的是不使用XmlHttpRequest。还有其他方法吗?你可以提交一份表格发送或邮寄。我添加了一个关于如何做到这一点的答案。那就是form.submit()。上帝啊下次大声说出来!对不起,伙计们!我工作到很晚,不太清楚。让我重新表述我的问题:我有一个字符串,希望使用javascript将该字符串发送到服务器,但我不希望使用异步请求。我有什么办法可以做吗。我想你们给了我很大的帮助!再次感谢!这怎么不是XHR?
<a href='#' onclick='cow_submit("zoodle")'>send</a>
<form method='post' id='formie' action='find_some_action.php'>
  <input type='hidden' id='snoutvar' name='snoutvar' value='snout'>
</form>

<script>
function cow_submit(a_var_to_set){
  var plip=document.getElementById('formie');
  var snout=document.getElementById('snoutvar');
  snout.value=a_var_to_set;
  plip.submit();
  }
<script type="text/javascript">
  function doTestFormSubmit(yourString) {
    document.getElementById("myString").value=myString;
    document.getElementById("testForm").submit();
  }
</script>
<form name="testForm" id="testForm" action="yourDesiredPage.php" method="post">
   <input type="hidden" name="myString" id="myString" value=""/>
</form>