ajax动态地给一个标记href赋值 而不执行跳转
作为一个新的功能“问卷”应该加入到一中的评价体系中,我想效仿别人做的问卷。使用别人的问卷的一个好处就是别人的特长和界面美化都很人性化,但是每次设置好问卷后都要求你发布网站,而且客户总是访问更改后的地址。客户端每次点击“问卷”,都会跳转到对应的页面:。
点击“问卷”进入问卷页面:。
我使用A选项卡,每次访问管理员提交的“调查表”时,我都会复制如下代码: lia href=“‘onclick=‘meizz(this)’调查表/a/li单击“调查表”和/A/Li meizz函数。该函数通过ajax调用返回要访问的“问卷”的网址:复制的代码如下: script type=' text/JavaScript ' language=' JavaScript ' function meizz(e){ $。Ajax ({//async:failure,//设置Ajax同步类型: 'get ',//get方法url3360 './handler/query question . ashx ',//成功返回数据,解析返回的json数据,显示在课程信息列表中。success 3360函数(strjson){//检查后台返回的数据。vardataarray=eval(。e.href=dataArray[0]。问卷;//要访问的网址}。//返回数据失败,弹出错误显示错误:函数(xmlhttprequest,textstatus,抛出错误){ alert(xmlhttprequest . responsetext);} });} /script现象是e.href如果放在函数的$上就可以运行。ajax,但是如果将它放在ajax中并与动态返回的地址绑定,它将无法运行。郁闷过后,终于找到了答案:因为ajax的默认调用是异步的,所以在ajax调用处理的回调函数赋给href之前,直接发起href,这里这个时候href为null。解决方案:将ajax调用方法改为同步,并将ajax调用方法声明为同步:复制代码如下: $。ajax ({async: false,//设置ajax同步},让href的实现只有在ajax调入函数完成后才会被触发,得到想要的结果。
版权声明:ajax动态地给一个标记href赋值 而不执行跳转是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。