【问题标题】:An easy way to post to a URL and not use ajax?发布到 URL 而不使用 ajax 的简单方法?
【发布时间】:2012-02-13 16:17:12
【问题描述】:

使用 jQuery,我知道 $.ajax() 可用于 POST 到 url,但我不能使用 $.ajax() 来解决我的问题。我希望客户端 POST 到一个 url 并让服务器将用户重定向到某个 url(PRG 模式),因此它不能使用 XHR 请求。

如何让客户端发布到一个网址而不创建<form>?当然,一定有比这更简单的解决方案。 jQuery post request (not AJAX)

【问题讨论】:

  • 不创建“?” ??可以用js做重定向,所以不明白为什么不能用ajax...
  • 也许比我聪明的人会反驳我,但根据我的经验,您需要表单或 ajax。对不起。
  • jQuery non-AJAX POST的可能重复
  • 您需要 ajax 才能拨打电话。但您不一定需要表格。请参阅我的回答以了解 ajax 的执行方式。
  • @Brad - 该解决方案很简单,但仍会创建一个表单。

标签: javascript jquery


【解决方案1】:

为什么不能使用 Ajax POST,然后在它返回时,在回调函数中执行 Javascript 重定向?只需让服务器提供作为响应重定向到的 URL。

【讨论】:

    【解决方案2】:

    您可以创建和发送表单或使用 ajax。我不知道有其他方法。

    但为什么不呢:先用ajax post保存数据,然后转到新页面。

    $.post('youscript.php', function(data) {
      window.location.href = data;
    });
    

    否则请参阅此old question,了解如何使用动态创建的表单发送它。

    【讨论】:

      【解决方案3】:

      最简单的方法是使用 jquery 和 click() 事件。并使用数据将它们作为变量传递到数据集中:{data1: datavals}

      编写代码后将编辑此帖子。

      更新:

      <input type="text" name="data1" id="data1" value="" placeholder="Input text for data 1">
      <input type="text" name="data2" id="data2" value="" placeholder="Input text for data 2">
      <input type="submit" name="submit" id="submit" value="submit">
      $("#submit").click(function(){
          $.ajax({
              url: "process.php",
              data: {data1: $("#data1").val(), data2: $("#data2").val()},
              dataType: "json",
              type: "POST"
      
          });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-12-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-12-13
        • 2013-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多