前端数据如何在不需要刷新的情况下发送数据给后端?

我尝试 两种方法 在前端 把数据发送给后端服务器。
1 <form><input 'hidden'></form> (会自动刷新)
2 Ajax (我试过 POST 但是依然会自动刷新)

clipboard.png

场景模拟:微博里只删除自己一条微博,其它地方不刷新。我自己想到的方法是,把 要删除微博的数据传回数据库(其它地方需要) ,然后设置 这条微博的 display:none 。

我的Ajax 为什么不能 局部刷新?

阅读 7.4k
8 个回答

你触发的还是表单提交。
如果你用ajax提交,这时候的form已经没有意义了,你直接把form改成div吧。

ajax本身就是为了解决刷新页面的
ajax只是处理请求,当服务器返回数据后,前端用脚本控制dom的显示隐藏来控制。

ajax 就可以,然后input type=button 不要等于submit 也不要使用<button>标签,如果form没有使用就换成DIV吧

表单异步的话用jq.form 的ajaxsubmit,或者自己弄个iframe做表单,看起来像异步而已。

onclick+序列化 解决所有烦恼。

楼主ajax中type写成put了哈哈,如果用的是表单,先将表单序列化后再ajax提交,ajax就是用来解决不刷新的问题的,楼主是不是把form给submit了。

*首先可以确定的是ajax可以局部刷新。
楼主应该问我用了ajax为什么页面还是会全部刷新?
1,你的ajax方法触发了么?先确定是否ajax了?
2,确实ajax了,但是否可以确定整个页面是否只发生了ajax而没有其他的数据提交?
3,只发生了ajax没有其他的数据提交,那ajax的回调中是否把页面数据进行的不符合自己逻辑的处理。

从你贴出来的代码中仅仅只能看到你的ajax确实是会局部刷新。

  1. <form onsubmit="javascript:return false;">

  2. <input type=button onClick="send_card()">

  3. function send_card() {...Process_Card();}

按钮设为input type='button',不要设成submit

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题