关于$.ajax()和$.html()的问题?

前后端不分离项目
问题:在多个模块中,进行查询,由于请求很慢,在进入第二个模块时,上次的结果嵌入到这次模块中了
原因:由于id重复了

query() {
  $.ajax({
      type: 'Get',
      url: '/AccessHttpLog/Data',
      data: this.formValue,
      traditional: true,
      success: (res) => {
          // 这两个模块的id重复了
          $('#div_data_httplog').html(res);
      }
  })
}

除了手动去改这个id,还有其他方法吗
因为有200多个模块...

阅读 1.8k
2 个回答

使用find来查找元素,$parent.find('#div_data_httplog'),$parent可以是模块的顶层元素

可以在 模块 变更的时候,强制取消掉当前正在发送的请求。譬如:

moduleChange() {
  // 假设这是模块变更的方法,在这里把正在发送中的请求取消掉
  if (this.currentAjax) {
     this.currentAjax.abort();
  }
}

query() {
 this.currentAjax = $.ajax({
      type: 'Get',
      url: '/AccessHttpLog/Data',
      data: this.formValue,
      traditional: true,
      success: (res) => {
          // 这两个模块的id重复了
          $('#div_data_httplog').html(res);
      }
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题