Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.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 带有表单值的jQuery AJAX提交_Javascript_Jquery_Ajax_Forms - Fatal编程技术网

Javascript 带有表单值的jQuery AJAX提交

Javascript 带有表单值的jQuery AJAX提交,javascript,jquery,ajax,forms,Javascript,Jquery,Ajax,Forms,我已经编写了一些jQuery代码,它向我的CMS发送一个AJAX请求,根据请求中发送的操作触发不同的PHP操作 这很好,但是表单的值没有随AJAX post一起发送。我尝试过各种不同的方法,比如新表单和序列化表单数据,但似乎没有任何效果 我以为只要把这个包括在通话中就足够了: $formData = $('#checkout-cart').serialize(); data: $formData, 谁能给我指一下正确的方向吗 var formSubmit = { config: {

我已经编写了一些jQuery代码,它向我的CMS发送一个AJAX请求,根据请求中发送的操作触发不同的PHP操作

这很好,但是表单的值没有随AJAX post一起发送。我尝试过各种不同的方法,比如新表单和序列化表单数据,但似乎没有任何效果

我以为只要把这个包括在通话中就足够了:

$formData = $('#checkout-cart').serialize();
data: $formData,  
谁能给我指一下正确的方向吗

var formSubmit = {
    config: {
        guestUser: '.create-guest-user',
    },
    initialize: function () {
        var $this = this;
        $(this.config.guestUser).click(function(event) {
            event.preventDefault();
            $this.createGuestUser();
            return false;
        });
    },
    // Create Guest User
    createGuestUser: function (elem) {
        $.post(window.location.href, {
            type: 'ajax',
            data: $formData,
            url: window.location.href,
            action: 'createGuestUser',
        }).done(function (response) {
            $('.create-guest-user').addClass('disabled');
        });
    }
};

$(document).ready(function () {
    formSubmit.initialize();
});
HTML


你的个人资料
客户群
违约
名字
姓
电子邮件
电话
你的地址
单位
地址1
地址2
城市
邮政编码
国家
阿富汗阿兰岛
地区/州
继续

请将url属性添加到您的
$中。post

  var formSubmit = {
      config: {
          guestUser: '.create-guest-user',
      },
      initialize: function () {
          var $this = this;
          $(this.config.guestUser).click(function(event) {
              event.preventDefault();
              $this.createGuestUser();
              return false;
          });
      },
      // Create Guest User
      createGuestUser: function (elem) {
          $.ajax({
              type: 'post',
              data: $formData,
              url: 'url.php'
          }).done(function (response) {
              $('.create-guest-user').addClass('disabled');
          });
      }
  };

  $(document).ready(function () {
      formSubmit.initialize();
  });

请将url属性添加到您的
$。post

  var formSubmit = {
      config: {
          guestUser: '.create-guest-user',
      },
      initialize: function () {
          var $this = this;
          $(this.config.guestUser).click(function(event) {
              event.preventDefault();
              $this.createGuestUser();
              return false;
          });
      },
      // Create Guest User
      createGuestUser: function (elem) {
          $.ajax({
              type: 'post',
              data: $formData,
              url: 'url.php'
          }).done(function (response) {
              $('.create-guest-user').addClass('disabled');
          });
      }
  };

  $(document).ready(function () {
      formSubmit.initialize();
  });

$.post
的第二个参数只是post数据,而不是options参数。如果要传递选项,则需要使用
$.ajax
,而不是
$.post

在进行AJAX调用时,还需要更新
$formData
,否则将从最初加载页面时获取表单的值

$.ajax
没有
操作
选项。如果要添加不在表单输入中的其他POST参数,则需要将它们添加到
$formData

createGuestUser: function (elem) {
    var $formData = 'action=createGuestUser&' + $('#checkout-cart').serialize();
    $.ajax({
        type: 'post',
        data: $formData,
        url: window.location.href,
    }).done(function (response) {
        $('.create-guest-user').addClass('disabled');
    });
}

$.post
的第二个参数只是post数据,而不是options参数。如果要传递选项,则需要使用
$.ajax
,而不是
$.post

在进行AJAX调用时,还需要更新
$formData
,否则将从最初加载页面时获取表单的值

$.ajax
没有
操作
选项。如果要添加不在表单输入中的其他POST参数,则需要将它们添加到
$formData

createGuestUser: function (elem) {
    var $formData = 'action=createGuestUser&' + $('#checkout-cart').serialize();
    $.ajax({
        type: 'post',
        data: $formData,
        url: window.location.href,
    }).done(function (response) {
        $('.create-guest-user').addClass('disabled');
    });
}


谢谢你的回复-我恐怕没有那么幸运。请求是否会转到服务器?调用会很好地转到服务器并启动我的PHP操作脚本,但是我无法获得任何$\u POST值。在将$formData记录到浏览器控制台时,我还可以看到它被很好地捕获。您还可以在问题中发布html表单代码吗?
$的第一个参数。post
是URL,您不需要在选项参数中重复它。感谢您的回复-恐怕不会有什么好结果。请求是否会转到服务器?调用会很好地转到服务器并触发我的PHP操作脚本,但我无法获得任何$\u POST值。在将$formData记录到浏览器控制台时,我还可以看到它被很好地捕获。您还可以在问题中发布html表单代码吗?
$的第一个参数是URL,您不需要在选项参数中重复它。
键入:“ajax”
无效。它应该是
类型:“get”
类型:“post”
。只有在使用
$.ajax
时才需要该选项
$。post
自动将其设置为
post
类型:“ajax”
无效。它应该是
类型:“get”
类型:“post”
。只有在使用
$.ajax
时才需要该选项
$.post
自动将其设置为
post
。感谢您的回复。PHP正在switch语句中发布并捕获该操作。您的意思是类似
$\u post['action']
?我已更新了答案,以显示如何在post数据中发送附加参数。感谢您回复。不完全是我的意思是我用这种方式。。将操作传递到提交的签出页面的不同元素的switch case语句中。这是修剪过的版本。你的代码有
$action=$post['action']
这基本上就是我说的。谢谢你的回复。PHP正在一个switch语句中发布并捕获该操作。你的意思是像
$\u POST['action']
?我已经更新了答案,以显示如何在POST数据中发送附加参数。谢谢你回复。不完全是我的意思是我用这种方式。。将操作传递到提交的签出页面的不同元素的switch case语句中。这是修剪过的版本。你的代码有
$action=$post['action']基本上就是我说的。