AJAX从后台读取数据 返回到前台的问题 必须先alert 一下,才能获取数据 ,求帮忙!!

问题描述

AJAX从后台读取数据返回到前台的问题必须先alert一下,才能获取数据,求帮忙!!问题描述:点击单据号,将单据号通过url,传递至详细信息展示页detail.html,detail.html页面通过这个单据号在后台数据库中查出相关数据,然后展示在页面上,但是在js代码中必须先alert一下,才能将获取的数据显示在页面中,请教各位大牛,怎么解决我猜应该是detail.html获取URL数据,然后到后台去解析,导致不同步了,但是想不到解决办法,求个问大牛帮忙!!获取URL代码:<scripttype="text/javascript">functionGetRequest(){varurl=location.search;//获取url中"?"符后的字串vartheRequest=newObject();if(url.indexOf("?")!=-1){varstr=url.substr(1);strs=str.split("&");for(vari=0;i<strs.length;i++){theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);}}returntheRequest;}</script>**********************************************向后台传输代码和返回代码<scripttype="text/javascript">$(function(){varRequest=newObject();Request=GetRequest();varurl;url=Request['vbillcode'];$.ajax({type:'POST',url:"/rm/rmcsale/edit_specapplydetail",data:{Listurl:url},async:false,success:function(data){console.log("-----------success-------------");alert("您查询的订单号为:"+data.vbillcode);$(".J-vbillcode").attr("value",data.vbillcode);$(".J-billmaker").attr("value",data.billmaker);$(".J-ctrantypeid").attr("value",data.ctrantypeid);},error:function(data){},dataType:'json',});});</script>

多谢!!

解决方案

解决方案二:
alert();就会打断程序了,你要么自己实现个弹出框,要么使用confirm。
解决方案三:
//console.log("-----------success-------------");//alert("您查询的订单号为:"+data.vbillcode);注释掉这两行,再试
解决方案四:
你都指定ajax同步了应该不存在你说的问题你说的问题一般出现在异步里比较多
解决方案五:
引用1楼huasuoworld的回复:

alert();就会打断程序了,你要么自己实现个弹出框,要么使用confirm。

不是,如果不使用alert数据就不显示,但是用alert或者对话框用户体验会不好,有什么解决办法没
解决方案六:
引用4楼skyxuyan的回复:

Quote: 引用1楼huasuoworld的回复:
alert();就会打断程序了,你要么自己实现个弹出框,要么使用confirm。

不是,如果不使用alert数据就不显示,但是用alert或者对话框用户体验会不好,有什么解决办法没

你可以在页面上放个信息提示区域,如果回来了,就显示几个字提示操作成功了,但是你的问题应该是你的操作需要一定的时间,这个时候没有alert应该是值没出来,不可能产生alert值才能出来的情况的...
解决方案七:
看你代码和加不加alert没大关系的,只是一个赋值操作而已,就算其他地方要使用这3个控件的值,你的ajax是同步的,只要是在这个方法调用之后也不会出问题。。$(".J-vbillcode").attr("value",data.vbillcode);$(".J-billmaker").attr("value",data.billmaker);$(".J-ctrantypeid").attr("value",data.ctrantypeid);改为val试试,有专门给输入控件赋值的方法,不要使用attr设置属性的方法$(".J-vbillcode").val(data.vbillcode);$(".J-billmaker").val(data.billmaker);$(".J-ctrantypeid").val(data.ctrantypeid);

而且console.log要去掉,有些浏览器是不支持console.log对象的,会报错,如ie8不打开开发工具时不支持console.log对象的
解决方案八:
alert();之后才会出现,这和异步刷新有关,可以setTimeout("function()",1000);,让程序延时执行。
解决方案九:
如果你觉得这样会显得比较慢,那么你可以把提交方式换掉$.ajax({});,改成jQuery的提交方式。
解决方案十:
多半是延时的问题吧!可是试一试楼上的
解决方案十一:
ajax里面的dataType你怎么放在最后了,你的data不是json结构,怎么会取到值呢?你试下将这个dataType放到success的前面。不确定是不是这个引起的。试下吧。
解决方案十二:
引用6楼showbo的回复:

看你代码和加不加alert没大关系的,只是一个赋值操作而已,就算其他地方要使用这3个控件的值,你的ajax是同步的,只要是在这个方法调用之后也不会出问题。。$(".J-vbillcode").attr("value",data.vbillcode);$(".J-billmaker").attr("value",data.billmaker);$(".J-ctrantypeid").attr("value",data.ctrantypeid);改为val试试,有专门给输入控件赋值的方法,不要使用attr设置属性的方法$(".J-vbillcode").val(data.vbillcode);$(".J-billmaker").val(data.billmaker);$(".J-ctrantypeid").val(data.ctrantypeid);

而且console.log要去掉,有些浏览器是不支持console.log对象的,会报错,如ie8不打开开发工具时不支持console.log对象的

建议用val赋值试试。
解决方案十三:
//console.log("-----------success-------------");//alert("您查询的订单号为:"+data.vbillcode);去掉,再打个断点试试呢,如果可以的话,感觉就是延时的问题,另外$(".J-vbillcode").attr("value",data.vbillcode);$(".J-billmaker").attr("value",data.billmaker);$(".J-ctrantypeid").attr("value",data.ctrantypeid);这里面用的是class选择器,可能有多个同名的class,用id更好吧对这方面不太懂,希望有帮助
解决方案十四:
$(function(){把这个函数替换为window.onload试下呢
解决方案十五:
使用console.info()试下

时间: 2024-10-14 22:09:42

AJAX从后台读取数据 返回到前台的问题 必须先alert 一下,才能获取数据 ,求帮忙!!的相关文章

AJAX从后台读取数据 返回到前台的问题

问题描述 AJAX从后台读取数据返回到前台的问题必须先alert一下,才能获取数据,求帮忙!!问题描述:点击单据号,将单据号通过url,传递至详细信息展示页detail.html,detail.html页面通过这个单据号在后台数据库中查出相关数据,然后展示在页面上,但是在js代码中必须先alert一下,才能将获取的数据显示在页面中,请教各位大牛,怎么解决我猜应该是detail.html获取URL数据,然后到后台去解析,导致不同步了,但是想不到解决办法,求个问大牛帮忙!!获取URL代码:<scri

java问题关于ajax的异步请求前台页面的值传到后台然后再返回到前台

问题描述 java问题关于ajax的异步请求前台页面的值传到后台然后再返回到前台 前台页面上有个select框 select框中的值是从后台获取的 然后任意选中select框下面的值,让这个值传到后台作为参数 String sql="select phone deviceinfo where vehiclenumber='+select选中的值+'" 然后把查询到的phone在传到另外一个sql=select top 1 data from phone(作为表明) 关键是那个selec

做了一个ajax在后台查数据, 前台接收转成html赋值给div显示在界面上,返回的数据是对的,赋值过后div值也是对的,显示出来是错的

问题描述 做了一个ajax传文件的,在后台上传成功后,查询数据库的最新数据返回,前台接收转成html赋值给div显示在界面上,div显示的内容是和数据库一样的,在做删除操作完毕后,查询数据返回到前台,返回值是对的,调试时看到给div赋值后div的值也是对的,界面上会显示正确的值后继续运行就跳到别的js里面了,这个时候界面上显示的值就是错的了,代码应该是在赋值操作完毕后就结束整个查询动作,但是不知道什么原因又开始执行别的代码块,对于同步异步这个概念不是很清晰,是不是界面还没来的及显示出来就被别的动

jquery-jqgrid获取数据,怎么更改排列顺序呢?

问题描述 jqgrid获取数据,怎么更改排列顺序呢? 获取数据的顺序,是在哪里选择的? 解决方案 获取数据数据的循序?什么意思?没看明白要问什么 点击列表头可以进行排序,如果是远程数据会发送sord=asc/desc到服务器,你需要获取sord参数后在服务器排序后输出 解决方案二: 顺序是你后台组织好传给前台的,要组织,在后台组织,或者前台接到后,解析成数组或List,按自己的规则排序 解决方案三: 得满足排序条件吧, 比如ID啊, 时间啊等等....

oracle-怎样获取数据表里面字段的注释

问题描述 怎样获取数据表里面字段的注释 如下图,想要获取数据表里面注释字段里面的内容,并把它添加到下拉框里面去,该怎么实现 解决方案 用navicat这个试试......

编程-我用Ajax向后台发送了个请求,返回的数据是一个List,页面都已经打印出来了,我如何遍历他?

问题描述 我用Ajax向后台发送了个请求,返回的数据是一个List,页面都已经打印出来了,我如何遍历他? 前台代码 $.ajax( { url:'<%=path%>/complete!queryComplete.action',// 跳转到 action type:'post', //post方式提交 success:function(data) { //data是返回的数据 console.log(data);//打印这个数据,打印出的数据 上面有图大家可以看下 }, error : fun

jquery ajax后台返回list,前台用jquery遍历list的实现_jquery

如下所示: $.ajax({ type: 'post', url: "maintain_findRoomByBuildingId.shtml", cache: false, data: {"buildingId":buildingId}, dataType: 'json', success: function(data){ jQuery.each(data.roomList, function(i,item){ alert(item.id+","

spring mvc ajax请求数据后,前台根据返回的key如果跳转的别的jsp界面

问题描述 spring mvc ajax请求数据后,前台根据返回的key如果跳转的别的jsp界面 根据返回的data,在jsp前端进行跳转,有没有好的办法,还是可以通过配置就可以实现: window.location不太好使,可以跳转但是URL地址会显示具体的参数: 解决方案 参数你都放action里面了...那肯定显示了..fm表单放一个隐藏域存储你的cardList参数 <form id="fm" action="${}.../cardlist">&

ajax请求后台下载zip压缩文件问题,后台返回的是流前台不提示下载。附上ajax请求代码合后台代码

问题描述 ajax请求后台下载zip压缩文件问题,后台返回的是流前台不提示下载.附上ajax请求代码合后台代码 前台: $.ajax({ type:"POST", url:"app/downloadProduct", data:{nid:nid,name:name}, dataType:"text", success:function(data){ console.log(data); if(data!=null){ alert("ur