前端ajax停止后怎么结束后台方法

404 Not Found
The requested URL /q/5154/ was not found on this server.14:55 提问
关于运用ajax如何在前端页面显示数据
后台返回一个集合,如何在前端将数据显示出来?
如何在ajax里面写呢?
按赞数排序
如果是json数据
var json = eval('('+data+')');
集合是list集合
代码如下:
$('username').val(name) ;
读取元素都错了
怎么返回给页面
json对象没有get方法,直接点号或者[]引用属性
然后如果username是id,要加#号
$('#username').val(data.name)
楼主得多多补习JS知识哦
你datatype返回使用的是json格式的数据,但后台返回的数据却是list集合,这样貌似是会报错的吧?
data用于接收后台返回的数据,要么后台将list转为json数据格式,要么不指明dataype格式,最后遍历data即可。
后台返回json,前台再反序列化
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐我后台要用处理一个小时左右,然后用ajax返回前台,但是超时了啊
[问题点数:40分]
本版专家分:0
结帖率 25%
CSDN今日推荐
本版专家分:8128
2013年5月 Web 开发大版内专家分月排行榜第二
本版专家分:396037
2017年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第五
2018年5月 总版技术专家分月排行榜第一2018年4月 总版技术专家分月排行榜第一2018年2月 总版技术专家分月排行榜第一2017年8月 总版技术专家分月排行榜第一
2018年3月 总版技术专家分月排行榜第二2017年11月 总版技术专家分月排行榜第二2016年2月 总版技术专家分月排行榜第二2014年2月 总版技术专家分月排行榜第二2013年4月 总版技术专家分月排行榜第二
本版专家分:29411
2012年9月 Web 开发大版内专家分月排行榜第三2012年8月 Web 开发大版内专家分月排行榜第三
本版专家分:5800
2016年3月 Java大版内专家分月排行榜第一2016年2月 Java大版内专家分月排行榜第一2015年11月 Java大版内专家分月排行榜第一2015年10月 Java大版内专家分月排行榜第一2014年8月 Java大版内专家分月排行榜第一2014年7月 Java大版内专家分月排行榜第一2014年5月 Java大版内专家分月排行榜第一
2016年1月 Java大版内专家分月排行榜第二2015年12月 Java大版内专家分月排行榜第二2015年8月 Java大版内专家分月排行榜第二2015年3月 Java大版内专家分月排行榜第二2015年1月 Java大版内专家分月排行榜第二2014年12月 Java大版内专家分月排行榜第二2014年11月 Java大版内专家分月排行榜第二2014年6月 Java大版内专家分月排行榜第二2014年4月 Java大版内专家分月排行榜第二2014年1月 Java大版内专家分月排行榜第二2013年11月 Java大版内专家分月排行榜第二
2015年9月 Java大版内专家分月排行榜第三2015年6月 Java大版内专家分月排行榜第三2015年5月 Java大版内专家分月排行榜第三2015年2月 Java大版内专家分月排行榜第三2014年3月 Java大版内专家分月排行榜第三2013年12月 Java大版内专家分月排行榜第三
本版专家分:2845
匿名用户不能发表回复!|
其他相关推荐在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
在前台页面要删除某一行的数据,用ajax怎样实现,相应的数据库里面也没有这条数据了
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
让后台提供接口给你,你只需要把对应的数据id传递后台,根据后台返回是否删除成功在做刷新页面就行了。
type:"POST",
data:$.param({id:v}),
url:"/action/post/dele", //后台提供的删除接口
dataType:'json',
success:function(data){
var html = '';
if(data.status == 1){
alert('删除成功');
window.location.reload();
alert('删除失败,请稍后重试');
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
前端没法直接操作数据库,除非你的数据库是放在前端的,如indexedDB、WebSQL,但是一般很少这样的,所以只能交给后台来操作数据库,将删除的数据通过ajax接口告诉后台,后台再操作数据库删除相应的数据。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
一般这种数据应该有标识用来指定什么数据,这个需要你和后台沟通,看需要怎么传递参数
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
一般需要后端提供一个API,每当有删除的操作时就调用一次这个API,把被删除的数据的id或者其它参数传递到后端,后端再去删除数据库中的数据。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
和后台沟通,让他提供给你一个删除数据库里数据的api。你在前端把页面中对应的模块remove,然后ajax请求后台给你的删除api,就可以了。不请求接口的话,前端对应的删除只是页面视觉上的删除,并没有涉及到数据库。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
楼上都是正解,删除成功后,前台更新一下就Ok了哦
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
首先要清楚的是,这个删除实际上分为两个部分,一个人是前端中的删除,一个是后端的删除。前端的删除要看达到怎样的目的,如果是仅仅页面中看不到了,你可以直接设置css样式display:none.如果还要删除dom元素则要考虑调用 Node.prototype.removeChild方法。如果删除dom元素,但还是想把DOM元素的数据和事件保持在内存中,请参考jQuery中remove() 和detach()方法的区别。好,其实我知道题主不care前端“删除一行数据”到底有哪些方法,回到问题,想要后端也同时删除这条数据的话,就需要利用ajax技术将这条数据的主键发送个后端,这个“主键”当然也要根据数据库的设定以及后端的具体代码来确定。详细代码请参考楼上。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
后端传递接口,前端ajax调用该接口并传递相关的值,让后台来执行数据库的删除操作
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。
问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
使用AJAX将一个数据传到后台,但是java后台的request为null,无法getParameter,该怎么解决?
callback: {
message: '用户名已被占用',
callback: function (value, validator) {
var checkvalue = $("#username").val();
if(checkvalue.length & 5){
url: '${pageContext.request.contextPath}/user/userCheckExist.vk',
type: 'post',
dataType: 'text',
async: false,
data: {'checkvalue': checkvalue},
success: function (responseText) {
alert(responseText);
if (responseText != 'success') {
后台代码:
public void userCheckExist(@RequestParam(value = "checkvalue", required = false)HttpServletRequest request,HttpServletResponse response) throws IOException{
String sss = "";
response.setContentType("text/charset=UTF-8");
String checkName = request.getParameter("checkvalue");// 因为request为空,所以此处报错
// ··· ···
}catch (Exception e) {
e.printStackTrace();
response.getWriter().write("success");
response.getWriter().write("success");
报错信息为:
DEBUG [http-nio-8080-exec-6] - DispatcherServlet with name 'mybatis' processing POST request for [/VenkSOS/user/userCheckExist.vk]
DEBUG [http-nio-8080-exec-6] - Looking up handler method for path /user/userCheckExist.vk
DEBUG [http-nio-8080-exec-6] - Returning handler method [public void com.venk.sos.controller.UserController.userCheckExist(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException]
DEBUG [http-nio-8080-exec-6] - Returning cached instance of singleton bean 'userController'
java.lang.NullPointerException
at com.venk.sos.controller.UserController.userCheckExist(UserController.java:94)
at sun.reflect.GeneratedMethodAccessor43.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
DEBUG [http-nio-8080-exec-6] - Null ModelAndView returned to DispatcherServlet with name 'mybatis': assuming HandlerAdapter completed request handling
DEBUG [http-nio-8080-exec-6] - Successfully completed request
感谢各位大神的回答,今天早上终于把代码改好了,功能可以用了,是后台注解和取值的问题。顺便贴一下修改后的代码。前端页面部分:
callback: {
message: '用户名已被占用',
callback: function (value, validator) {
var checkvalue1 = $("#userId").val();
if(checkvalue1.length & 4){
console.info("checkvalue is :"+checkvalue1);
url: '${pageContext.request.contextPath}/user/userCheckExist.vk',
type: 'post',
dataType: 'text',
async: false,
data: {"checkvalue": checkvalue1},
success: function (responseText) {
if (responseText != 'success') {
console.info(checkvalue1 + " 用户已存在");
console.info(checkvalue1 + " 可以注册");
},error: function (responseText){
console.info("后台异常,执行注册时再检查用户是否存在");
@RequestMapping("userCheckExist")
public void userCheckExist(HttpServletRequest request,HttpServletResponse response) throws IOException{
response.setContentType("text/charset=UTF-8");
String checkName = request.getParameter("checkvalue");
User u = new User();
u.setUserName(checkName);
User ifExist = userService.selectOne(u);
if (ifExist != null) {
response.getWriter().write("exist");
log.info("----- 【用户已存在,不可提交注册】 -----");
response.getWriter().write("success");
log.info("----- 【用户不存在,可以提交注册】 -----");
} catch (Exception e) {
e.printStackTrace();
response.getWriter().write("error");
log.warn("----- 【Ajax注册验证用户是否存在时后台出错】-----", e);
验证界面效果:
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
在后端,你把@RequestParam注解加在了HttpServletRequest上面,导致request没有注入HttpServletRequest,而去尝试注入@RequestParam("checkvalue")了。然后前端你发送的请求不是form-data类型,所以后端没法用@RequestParam接受数据,所以后端的request就是null。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
发送到时json,但是标识的是form data。contentType默认值: "application/x-www-form-urlencoded,而你data是json,你spring MVC方法使用用的是form data,所以框架无法将json注入到参数,所以参数是null。
将data拼接成form data,checkvalue=111,这样。
ps:查看http请求返回是解决这种问题最快的办法
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
请求头要加content-type:application/json,,加了吗
同步到新浪微博
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

 

随机推荐