jquery弹出消息框-解决JQuery的ajax函数执行失败并闪出alert函数的问题

首先检查该标签是否有action属性,如果没有,且最后一个标签的type属性为'submit',默认提交位置为当前页面

如果在检测页面右键,点击网络,就会在

首先检查该标签是否有action属性,如果没有,且最后一个标签的type属性为'submit',默认提交位置为当前页面

如果你在页面右键检测并点击网络,你会发现开头有这样一个post包:

jquery弹出消息框_jquery弹出提示框_jquery弹出窗口的方法

左侧消息头可见,请求URL为当前URL,响应返回类型为html

所以只要将form表单中最后一个提交按钮的type="submit"改为type="button",并使该按钮成为原生按钮即可,

可以正确使用ajax传输数据,原因是表单最后一个提交按钮与使用ajax传输数据冲突

因为这个原因,我浪费了很多时间,甚至把代码从头到尾写了一遍(感觉好傻!),并总结了调试过程。

先贴ajax代码:

jquery弹出提示框_jquery弹出窗口的方法_jquery弹出消息框

 $(function () {
      $("#register").on('click',function () {
        $.ajax({
          type: 'post',
          url:"{:url('insert')}",
          data:$('#login').serialize(),
          dataType:'json',
          success:function (data) {
            alert('成功');
          },
          error:function () {
            alert('error');
          }
        })
      })
    });

这里“#register”是提交按钮,“#login”是表单,url 被发送到 php 脚本(它将表单数据插入数据库)。

用Google Chrome打开页面,点击注册按钮,当前页面刷新,没有任何反应。

jquery弹出消息框_jquery弹出窗口的方法_jquery弹出提示框

正常情况下ajax执行正确或者失败。 根据上面的代码,应该有一个消息弹窗,所以我感觉那里有问题。

打开数据库,发现表单的数据已经插入到数据库中jquery弹出消息框,说明后台php脚本运行成功,但是返回数据时出现问题。

右键检测发现post包,发现响应返回类型是html,而我设置的返回类型是json。

jquery弹出提示框_jquery弹出消息框_jquery弹出窗口的方法

我更换了Edge浏览器,问题也是数据库插入数据,但是没有消息弹窗。

更换火狐浏览器jquery弹出消息框,再次点击注册按钮,出现消息弹窗,但一闪就消失了! 隐约发现弹窗显示为‘错误’(感谢火狐浏览器!)

总结

以上就是小编给大家介绍的解决JQuery ajax函数执行失败、闪出alert函数问题的解决方案。 希望对您有所帮助。 如果您有疑问,请给我留言,编辑会及时回复您。 的!