当前位置: 首页 > 面试题库 >

AJAX-使用POST而不是GET

闽阳州
2023-03-14
问题内容

到目前为止,我一直在使用:

xmlhttp.open("GET","server_script.php?q="+str,true);

谢谢

编辑:我为可能遇到此页面的任何人提供了一种解决方案,以演示如何使用POST而不是GET。如果您不熟悉AJAX,建议您首先使用GET方法向本教程http://www.w3schools.com/PHP/php_ajax_php.asp推荐。

解-

javascript:

xmlhttp.open("POST","script.php",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.send('var_name='+str);

的PHP:

$var_name = GET['var_name'];

echo $var_name;

由于有关使用POST和GET的原因-请参见注释。


问题答案:

您显示的查询可能非常适合作为GET请求。无需更改。

有一个理由使用另一个理由:在服务器端更改状态的请求(即更改数据)通常应使用POST;“读取”请求应为GET。

这具有隐式的安全优势,因为您无法通过将URL走私到用户页面中来造成任何损害(例如,显示其URL指向名为admin的管理页面的图像deleteall.php)。

如果您的请求只是检索数据,那么您可以继续使用GET。



 类似资料:
  • 问题内容: 我不确定这是否可能。但是我想知道是否有人知道如何使超链接传递一些变量并使用POST(如表单)而不是GET。 问题答案: 您使用隐藏的输入创建表单,这些输入包含要发布的值,将表单的 操作 设置为目标url,并将表单方法设置为 post 。然后,当您单击链接时,触发提交表单的JS函数。 有关示例,请参见此处。本示例使用纯JavaScript,没有jQuery-如果您不想安装比现有更多的东西

  • 问题内容: 我正在工作一个内部Web应用程序。在IE10中,请求工作正常,但在Chrome中,所有AJAX请求(很多)都是使用OPTIONS发送的,而不是我提供的任何已定义方法。从技术上讲,我的要求是“跨​​域”。该站点位于localhost:6120上,我向AJAX发出请求的服务位于57124上。此关闭的jquery错误定义了该问题,但不是真正的解决方法。 如何在ajax请求中使用正确的http

  • 问题内容: 我使用了下面的jQuery 示例 ,它的工作原理就像一个魅力。但是,它会附加结果。我需要更改什么以替换结果而不是附加结果? 问题答案: 您可以在追加之前清空元素 或使用方法

  • null 属性包含: 当我执行request时,我会得到401,但我看不到对令牌验证的HTTP调用会被执行。 如果我从属性中删除spring前缀,我仍然得到401,但它尝试HTTP POST到:

  • 问题内容: 我已经尝试过两种方法。 方式1 方式二 这两种工作方式上的镀铬细,但由于某种原因与IE不发送数据的,或根本。 我已经在本地服务器和实时Web服务器上进行了尝试,两者都得到了相同的结果。 在这里使用IE10。 问题答案: ~~~~ 应该 您将变量的值作为键传递,因此,如果您的服务器端资源期望它实际上看到了该变量的值。 这可能不是IE10问题,这不应该像在任何浏览器中一样起作用。 更新资料