【问题标题】:Submit with post method using jquery .ajax()使用 jquery .ajax() 通过 post 方法提交
【发布时间】:2015-03-03 12:43:45
【问题描述】:

我有一个表单,它位于使用 jquery UI 创建的对话框中。我正在尝试使用 jquery.ajax() 请求将表单发送到 php 控制器,但是 我希望像从 php 页面提交并执行控制器一样处理请求(不仅使用 AJAX 获得响应)。

原因是因为我想在请求中添加不在表单本身中的附加数据,而且我似乎更容易用 jquery 添加它。

这是表格:

<form action="">
    <fieldset>
        <div class="form-group">
            <label id="name">Soci:</label>
            <p id="soci_data"></p>
        </div>

        <div class="form-group">
            <label id="month">Mes:</label>
            <p id="mes_data"></p>
        </div>

        <div id="dropdown_payed"class="form-group">
                <select id="selectbasic" name="selectbasic" class="input-small">
                <option>payed</option>
                <option>not payed</option>
                </select>
        </div>

        <div class="form-group">
            <input type="submit" value="Update">
        </div>
    </fieldset>
</form>

我要提交的唯一表单字段是下拉菜单。

这是.ajax() 请求:

$("form").submit(function(){
    $.ajax({
    type:"POST",
    url:"update.php",
    data:{
        id_month:idmonth,
        id_name:idname,
        payed: $("#dropdown_payed").val();
        }
    success:function(data){
        // To do when the request succeded
    }
});

控制器update.php 现在只打印请求中传递的信息,以查看是否获得了我期望的数据:

print_r($_POST);

【问题讨论】:

  • > 我希望像从 php 页面提交的请求一样处理请求,并且执行控制器不仅使用 AJAX 获得响应。没明白。你能澄清一下吗?
  • @FernandoCarvalhosa 我不知道该如何解释。我的意思是,如果它是通过一个没有任何 javascript 的具有此属性的按钮提交的:&lt;form action="update.php" method="post"&gt;&lt;button type="submit" &lt;/button&gt;
  • 可以通过ajax或者普通请求从服务端获取相同的数据,区别在于客户端对响应的处理。如果您提交&lt;form action="update.php"&gt;,客户端会将您重定向到该页面并呈现来自 update.php 控制器的响应。这就是你想要发生的事情?
  • 也许 jQuery 表单插件会帮助你jquery.malsup.com/form
  • @FernandoCarvalhosa 是的,这可以解决问题,我将带有 jquery 的值添加到加载后的隐藏输入中,然后使用按钮提交标准请求。我没想到。非常感谢!

标签: jquery ajax forms post


【解决方案1】:

您可以在表单中使用&lt;input type="hidden"&gt; 并提交不会显示给用户的额外数据。这对你有用吗?

【讨论】:

    猜你喜欢
    • 2017-02-18
    • 2023-03-22
    • 2015-05-21
    • 1970-01-01
    • 2020-02-28
    • 2014-05-09
    • 2011-04-21
    • 2016-02-29
    • 1970-01-01
    相关资源
    最近更新 更多