请问下,为什么jquery的append方法 会加上上下文

Java_er 2016-02-26 02:19:20


$('#show').append('<img class="pictes" height="120" width="130" src="123.png" ></img>');


append之后,通过F12 :看到的SRC是: http://localhost:8080/admin/admin/123.png

把这一段 http://localhost:8080/admin/admin也加上了,Chrome是没有加上的。
(360浏览器,兼容模式,也就是IE内核的,有此问题)
现在我不需要加上这个上下文,因为我后期要是换域名的话,岂不是白瞎了?谢谢。
...全文
228 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Java_er 2016-03-07
  • 打赏
  • 举报
回复
引用 11 楼 functionsub 的回复:
[quote=引用 9 楼 Javainging 的回复:] [quote=引用 6 楼 functionsub 的回复:] [quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。[/quote] 那简单咯,赋值了src之后,再加一个任意属性名,取这个属性的值就行了,比如下面这样:
$('#show').append('<img class="pictes" height="120" width="130" src="123.png" img-src="123.png" ></img>');
然后取img的img-src属性丢给后台、[/quote] 今天也不知道是啥情况 这个img-src莫名其妙的有几个undefined。。。
ideep 2016-03-07
  • 打赏
  • 举报
回复
因为上传时的可能有各种路径,所以一般只要取得文件文件名,然后路径是通过服务端函数来组合和纠正的
Java_er 2016-02-26
  • 打赏
  • 举报
回复
引用 12 楼 danding_ge 的回复:
[quote=引用 9 楼 Javainging 的回复:] [quote=引用 6 楼 functionsub 的回复:] [quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。[/quote] 你的设计不合理,存入数据库的路径必须是相对路径,改吧少年! 你存绝对路径,后面维护起来一堆问题。[/quote] img-src
引用 11 楼 functionsub 的回复:
[quote=引用 9 楼 Javainging 的回复:] [quote=引用 6 楼 functionsub 的回复:] [quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。[/quote] 那简单咯,赋值了src之后,再加一个任意属性名,取这个属性的值就行了,比如下面这样:
$('#show').append('<img class="pictes" height="120" width="130" src="123.png" img-src="123.png" ></img>');
然后取img的img-src属性丢给后台、[/quote] img-src 这个比较靠谱 哈哈。
functionsub 2016-02-26
  • 打赏
  • 举报
回复
引用 9 楼 Javainging 的回复:
[quote=引用 6 楼 functionsub 的回复:] [quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。[/quote] 那简单咯,赋值了src之后,再加一个任意属性名,取这个属性的值就行了,比如下面这样:
$('#show').append('<img class="pictes" height="120" width="130" src="123.png" img-src="123.png" ></img>');
然后取img的img-src属性丢给后台、
天际的海浪 2016-02-26
  • 打赏
  • 举报
回复
引用 9 楼 Javainging 的回复:
[quote=引用 6 楼 functionsub 的回复:] [quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。[/quote] 图片地址是浏览器自动转换为绝对路径的,这没办法控制。 只有在获取img标签的src地址之后用正则表达式去掉地址的域名部分。 或者你用一个数组来单独存放图片地址,提交时直接提交数组中的地址。
公西雒 2016-02-26
  • 打赏
  • 举报
回复
引用 9 楼 Javainging 的回复:
[quote=引用 6 楼 functionsub 的回复:] [quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。[/quote] 你的设计不合理,存入数据库的路径必须是相对路径,改吧少年! 你存绝对路径,后面维护起来一堆问题。
Java_er 2016-02-26
  • 打赏
  • 举报
回复
引用 6 楼 functionsub 的回复:
[quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 我的场景是这样的,一个ajax上传图片的组件,上传成功后,在页面添加一个img标签,最后提交form的时候,统一获取这些个img标签的src地址,然后然后存入数据库(多个图片用;分开)。页面显示的时候,从数据库读取这个url。 如果后面换了域名读取的url还是之前域名的,那肯定就取不到图片了。
functionsub 2016-02-26
  • 打赏
  • 举报
回复
。。。。还存数据库,那你只能把地址过滤一通再存了。
Java_er 2016-02-26
  • 打赏
  • 举报
回复
引用 6 楼 functionsub 的回复:
[quote=引用 3 楼 Javainging 的回复:] [quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。[/quote] 这个是会变,关键数据库里面存储的是http://www.abc.com/admin/admin/123.png 域名换成bcd了,自然就找不到http://www.abc.com/admin/admin/123.png了
functionsub 2016-02-26
  • 打赏
  • 举报
回复
引用 3 楼 Javainging 的回复:
[quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 你换成了bcd.com,他生成页面元素的时候也会变成http://www.bcd.com/admin/admin/123.png。
公西雒 2016-02-26
  • 打赏
  • 举报
回复
引用 3 楼 Javainging 的回复:
[quote=引用 2 楼 functionsub 的回复:] 。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。[/quote] 这不是域名导致的,是因为bcd.com没有123.png这个图片,或者相对路径发生了变化。
公西雒 2016-02-26
  • 打赏
  • 举报
回复
首先纠正一下,你的问题不是加上了上下文,而应该是自动帮你补全了路径。 再说下你写的路径是相对路径,而360显示的是绝对路径,下面是我的4种猜测: 1.加载页面时360将相对路径解析成绝对路径,这个过程发生在加载页面时,所以无论你换什么域名都不会有问题; 2.chrome有可能在加载页面时也把相对路径解析成绝对路径了,只是显示出的仍是相对路径,这个猜测你打开F12-Network-Headers在这查看Request URL,也就是请求的路径已经是绝对路径了,跟1原理上是相同的,浏览器最终访问时都是绝对路径; 3.chrome有可能在加载时并未把把相对路径解析成绝对路径,而是在你发出请求时才解析; 4.chrome一直未解析成绝对路径,怎么可能?没绝对路径就相当于没域名,没域名没ip你怎么访问网站?是吧~
Java_er 2016-02-26
  • 打赏
  • 举报
回复
引用 2 楼 functionsub 的回复:
。。。说错了,换了域名也会是加上心域名的前缀。
比如 之前是 http://www.abc.com/admin/admin/123.png 后面域名换成了 bcd.com 换了域名之后,就会导致图片访问不到了。
functionsub 2016-02-26
  • 打赏
  • 举报
回复
。。。说错了,换了域名也会是加上心域名的前缀。
functionsub 2016-02-26
  • 打赏
  • 举报
回复
这个你不用担心,以后你换了域名他加的后缀也是新域名的后缀。

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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