【问题标题】:submitting a form via ajax upon stop event of jquery在 jquery 的停止事件时通过 ajax 提交表单
【发布时间】:2015-02-26 20:57:17
【问题描述】:

更新

添加了这个错误,只是说“错误捕获”

<script type="text/javascript">
window.onerror = function() {
    alert("Error caught");
};

xxx();
</script>

这不起作用,我不明白为什么。

如果在没有 if{method=post} 语句的情况下自行调用,我的 php 脚本会正确插入数据

我尝试在 php 端使用和不使用 if method = post 参数以使下面的 ajax 工作,但我无法判断脚本是否被调用。

我的目标是在用户不知情的情况下提交数据,这是可变设计界面的坐标/尺寸更新。

这是我的 ajax 插入,它应该在触发停止后调用函数时起作用,例如。在一个对象完成移动后,该函数被正确调用,因为我设置了顺序警报以在某些行之后弹出。

$("#form").submit(function(event){
    event.preventDefault();
    var $form = $( this ),
    url = $form.attr( 'action' );
    var posting = $.post( url, {
        id: $('#id').val(),
        name: $('#name').val(),
        wname: $('#wname').val(),
        xcor: $('#xcor').val(xcor),
        ycor: $('#ycor').val(ycor),
        xwid: $('#xwid').val(xwid),
        yhei: $('#yhei').val(yhei),
        photo: $('#photo').val(),
        targeturl: $('#targeturl').val()
    });

    posting.done(function( data ){
        alert('success');
    });
});

【问题讨论】:

  • 尝试添加一个fail 处理程序,看看它告诉你什么
  • 在控制台中查看请求
  • 我尝试添加上面的错误脚本,它只是说错误,想知道它怎么能说更多?另外,如果控制台是 f12,我试过它什么也没说?我看到了一些带有console.log这个词的代码,也许这就是我应该做的?
  • 啊... getPreventDefault() 的使用已被弃用,那么更新是什么?我不知道 xxx() 是什么...
  • jeez,我一直在使用 jquery 1.7.2 版本并且我升级了,没有遇到这么多问题,为不推荐使用的功能添加 migrate 也会导致更多错误......我的朋友是对的无论如何编码 FUBAR 或编码熵

标签: javascript php jquery ajax forms


【解决方案1】:

这是错误的

    xcor: $('#xcor').val(xcor),
    ycor: $('#ycor').val(ycor),
    xwid: $('#xwid').val(xwid),
    yhei: $('#yhei').val(yhei),

那些对象持有 jQuery 对象,而不是一个值。

看起来您想设置值并使用新值。这让我畏缩,但它会做的工作

    xcor: $('#xcor').val(xcor).val(),
    ycor: $('#ycor').val(ycor).val(),
    xwid: $('#xwid').val(xwid).val(),
    yhei: $('#yhei').val(yhei).val(),

您最好在调用之前更新它们并在设置对象时只使用变量。或者只使用 jQuery serialize() 并且不处理抓取元素。

【讨论】:

  • 我得到了这些值,当我使用序列化数据时,值会使用它来更新......那我应该怎么做呢?实际上我修改了这一点,最初在调用提交函数之前更新了值,例如。他们只是 .val();
  • 里面有表单元素,不是值。
  • 当他们只是 val 时它是正确的
  • 现在的问题是变量似乎是空的,发送的值不是空的但是根据php脚本,变量没有声明,例如。每个变量的索引问题错误。我转向了使用这样的 isset 的错误,但没有记录值 if(isset($_POST['yhei'])){ $yhei = $_POST['yhei']; }
猜你喜欢
  • 2011-04-21
  • 1970-01-01
  • 2012-03-22
  • 2012-11-23
  • 2017-11-04
  • 2011-08-31
  • 1970-01-01
  • 2014-01-01
  • 2019-12-31
相关资源
最近更新 更多