前台问题

//易水萧萧 2018-10-31 09:06:46
我在前台用ajax获取数据后用append追加到div里实现动态数据,但是我写的jquery为什么不起作用了,死数据就有效果动态数据就没效果这是咋回事?
...全文
68 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2018-11-05
  • 打赏
  • 举报
回复
引用 11 楼 qq_42778355 的回复:
[quote=引用 8 楼 吉普赛的歌的回复:][quote=引用 7 楼 qq_42778355 的回复:] [quote=引用 6 楼 szhda4le的回复:]是不是返回数据格式不对啊 比如你要json 返回的是字符串 前边需要eval 格式化 或者 ajax datetyppe:json 还有可能 ajax里有其他操作 ajax是异步的 没等到返回结果 就执行别的方法了
我返回的是josn,用的linq查询的数据,数据正常,前台遍历也正常,就是写的js不能用,我把js写在Ajax回调函数里面就能用了,写在其他地方就不行[/quote] ajax 默认异步, 当然只能在回调函数中用。 除非设置 async: false (同步) 但同步的话, js 就会阻塞其它动作, 你得确定没有问题才行。[/quote] 只有加async:false一种办法处理这种状况吗? 工作中会用这种ajax追加的方式加载数据吗?[/quote] 你不愿意用 async: false 同步模式, 那就只能放在加调函数里面了。 没有太多选择。 不过, 你可以一次性把所有需要加载的数据一次性返回, 这是个相当棒的做法。 比方说, 你有 3 个 dropdownlist 的下拉列表数据和一个真正实体类的数据, 可以用匿名类一次性返回所有的 json, var r = { ddlType = xxxList1, ddlCategory = yyyList2, ddlAddType = zzzList3, model = obj }; return Json(r); 前端根据名称解析一下就可以了, 这样后端不复杂,前端也简化了许多, 加载还会比较快速。
//易水萧萧 2018-11-05
  • 打赏
  • 举报
回复
引用 8 楼 吉普赛的歌的回复:
[quote=引用 7 楼 qq_42778355 的回复:] [quote=引用 6 楼 szhda4le的回复:]是不是返回数据格式不对啊 比如你要json 返回的是字符串 前边需要eval 格式化 或者 ajax datetyppe:json 还有可能 ajax里有其他操作 ajax是异步的 没等到返回结果 就执行别的方法了
我返回的是josn,用的linq查询的数据,数据正常,前台遍历也正常,就是写的js不能用,我把js写在Ajax回调函数里面就能用了,写在其他地方就不行[/quote] ajax 默认异步, 当然只能在回调函数中用。 除非设置 async: false (同步) 但同步的话, js 就会阻塞其它动作, 你得确定没有问题才行。[/quote] 只有加async:false一种办法处理这种状况吗? 工作中会用这种ajax追加的方式加载数据吗?
  • 打赏
  • 举报
回复
在回调中进行同步顺序处理,这个是基本编程知识。
二月十六 2018-11-02
  • 打赏
  • 举报
回复
加一个debugger调试一下
吉普赛的歌 2018-11-02
  • 打赏
  • 举报
回复
引用 7 楼 qq_42778355 的回复:
[quote=引用 6 楼 szhda4le的回复:]是不是返回数据格式不对啊 比如你要json 返回的是字符串 前边需要eval 格式化 或者 ajax datetyppe:json 还有可能 ajax里有其他操作 ajax是异步的 没等到返回结果 就执行别的方法了
我返回的是josn,用的linq查询的数据,数据正常,前台遍历也正常,就是写的js不能用,我把js写在Ajax回调函数里面就能用了,写在其他地方就不行[/quote] ajax 默认异步, 当然只能在回调函数中用。 除非设置 async: false (同步) 但同步的话, js 就会阻塞其它动作, 你得确定没有问题才行。
//易水萧萧 2018-11-02
  • 打赏
  • 举报
回复
引用 6 楼 szhda4le的回复:
是不是返回数据格式不对啊
比如你要json
返回的是字符串
前边需要eval 格式化 或者 ajax datetyppe:json

还有可能 ajax里有其他操作 ajax是异步的 没等到返回结果 就执行别的方法了
我返回的是josn,用的linq查询的数据,数据正常,前台遍历也正常,就是写的js不能用,我把js写在Ajax回调函数里面就能用了,写在其他地方就不行
  • 打赏
  • 举报
回复
F12看究竟拿没拿到数据,如果拿到了,浏览器可以debug……
吉普赛的歌 2018-11-01
  • 打赏
  • 举报
回复
贴下页面相关的的 html 和 js 脚本。 另外, 将 $.ajax 改为 同步 试试。
szhda4le 2018-11-01
  • 打赏
  • 举报
回复
是不是返回数据格式不对啊
比如你要json
返回的是字符串
前边需要eval 格式化 或者 ajax datetyppe:json

还有可能 ajax里有其他操作 ajax是异步的 没等到返回结果 就执行别的方法了
  • 打赏
  • 举报
回复
贴出你的 vs 调试画面。
xie_learner 2018-10-31
  • 打赏
  • 举报
回复
有一种可能,ajax是异步的,有可能在回调中没有获取到append的dom
正怒月神 版主 2018-10-31
  • 打赏
  • 举报
回复
先检查数据是不是获取到了。 在看一下数据格式,和你使用的格式是不是一致。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧