首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何对表单使用"GET“方法,但仍然隐藏URL参数?

如何对表单使用"GET“方法,但仍然隐藏URL参数?
EN

Stack Overflow用户
提问于 2022-01-22 05:50:51
回答 1查看 172关注 0票数 0

因此,我有一个form,它包含一个textarea字段和一个submit按钮:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<form class="popupForPosting">
 <textarea id="postContent" name="postContent" rows="8" cols="80" class="postContent" placeholder="What's going on, <?php echo $firstname ?>?"></textarea>
 <button id="pos" class="pos" onclick="makePost()">Post</button>
</form>

当我单击submit按钮时,调用会作为请求发送到AJAX,而我的postContent (在textarea字段中输入的内容)将显示在URL中。我不希望这种事发生。

现在,我不想对此表单使用POST方法。我想使用GET方法,但仍然隐藏在URL中显示的参数。根据所提供的资料和细节,我怎样才能做到这一点?

编辑:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script>

const makePost(form) {
  const text = form.postContent.value;
  function makePost() {
    var postContent = $("#postContent").val();
    if (postContent.length > 0) {
      jQuery.ajax({
        url:"yourposts.php",
        data:{
          postContent: postContent
        },
        type:"POST",
        success:function(data){
          if (data == "success") {
            $(".textpostFormat").html(postContent);
          }
        }
      });
    }
  }
};

document.querySelector(".popupForPosting").addEventListener("submit",function(e) {
  e.preventDefault();
  makePost(this); // passing the form
});

</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-22 05:59:45

最简单的答案

更改表单标记:action="yourposts.php" method="post"

  • Give、submit按钮、名称和值,并删除单击处理程序

  • ,将post.php移动到页面的顶部

  • ,在返回页面

  • 之前添加一个测试表单字段,删除所有与ajax相关的脚本

G 215

现在,如果单击按钮,页面将保存数据,而不是只加载页面。内容测试将处理重新加载。

Ajax答案

使用AJAX不显示URL中的数据-只是

删除onclick="makePost()"

  • use表单的提交事件,而不是提交按钮的单击事件,并使用event.preventDefault()

注意,我已包装在一个load事件处理程序中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(function() { // when form is available
  $(".popupForPosting").on("submit", function(e) {
    e.preventDefault(); // always prevent submit
    const postContent = $("#postContent").val().trim();
    $('#noText').css({visibility:  postContent === "" ? "visible" : "hidden" })
    $("#popUp").toggle(postContent==="")
    if (postContent) {
      $.ajax({
        url: "yourposts.php",
        data: {
          postContent: postContent
        },
        type: "POST",
        success: function(data) {
          console.log(data)
          if (data == "success") {
            $(".textpostFormat").html(postContent);
          }
        }
      });
    }
  });
});

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70813453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文