【问题标题】:Submitting form with ajax not working使用ajax提交表单不起作用
【发布时间】:2015-11-29 21:11:11
【问题描述】:

我的 ajax 无法正常工作。我有一个表单,我通过 ajax 提交到我的 php 文件,以更新我的数据库。它正在正确更新数据库,但是我的 ajax 一定有问题。问题是它总是调用我的 .fail 函数,即使成功并且它没有重置输入字段的值。请看:

$(".myForm").submit(function(e) {
e.preventDefault();
var url = "myurl.php"; 
$.ajax({
       type: "POST",
       url: url,
       data: $(this).serialize()
       }).done(function() {
         alert("Success");
         $('#email').value='';
       }).fail(function() {
            alert("Fail!");
        });
     });

它给了我一个失败警报,但我的数据库正在更新。我做错什么了?

编辑: 我的 php 正在返回一个结果,我像这样编辑了我的代码。 我的 ajax 现在看起来像这样,但我仍然遇到同样的错误

$(".myForm").submit(function(e) {
e.preventDefault();
var url = "http://fullyawaken.com/website/database/updatedatabase.php"; 
$.ajax({
       type: "POST",
       url: url,
       data: $(this).serialize(),
       statusCode: {
        200: function(){
            alert("Success!");
            $('#email').val("");
                    }
             }
        }).fail(function() {
            $('#email').val("");
            alert("Fail!");
        });
     });

【问题讨论】:

  • jquery 中的错误导致状态 201 创建错误。使用 statusCode: 而不是 done:
  • 你是从服务器返回任何东西,还是只是超时而失败
  • 另外$('#email').value='' 是一个错误
  • sorry url 应该是 url;打错了;那不是问题。现在改正
  • 他可能发布到当前网址

标签: javascript php jquery ajax forms


【解决方案1】:

尝试使用这种语法


$.ajax({
   type: 'post',
   url: url,
   data: $(this).serialize(),
   success: function (data) {
   console.log(data)
   },
   error: function (err) {
   console.log(err);
   },

});

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2011-02-12
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多