作者mickeyboy (mickey)
看板Ajax
标题[问题] div取值问题
时间Fri Dec 19 08:59:10 2014
卡关了一阵子,想请问关於使用JQuery取值的问题
如果是<div id="a">123</div> 这样使用$('#a').text();
可以取出 123 这个值
但如果<div id="a"> </div> 里面是AJAX回传的资料
使用.text()取值会将我的AJAX处理页面的JS程式码
也一并显示,无法达到只取得回传值
也测试过 val() html() ...等
想请问前辈,问题卡点在哪里?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.253.139.26
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Ajax/M.1418950753.A.159.html
1F:推 Peruheru: 对不起,看不懂你在写什麽 12/19 09:06
2F:→ Peruheru: 用.text取值会显示js程式码?你怎麽做到的? 12/19 09:07
3F:→ Peruheru: 你是把<script></script>片段写在这里面吗? 12/19 09:08
4F:→ Peruheru: 如果是这样,那你本来就不应该取他的值阿,你该把结果放 12/19 09:08
5F:→ Peruheru: 在只会有"值"的地方,取出来才会是"值"阿 12/19 09:09
6F:→ Peruheru: 比如说里面再放一个<div>来存放值 12/19 09:10
7F:→ Peruheru: 反过来说,为什麽你要把程式码放在你觉得应该放值的地方 12/19 09:11
8F:推 mrbigmouth: 放在div里面的不会是程式码 只是文字而已 12/19 09:17
不好意思,叙述不清楚
<div> </div>原本是用来显示ajax的值,也有成功显示
听了上面前辈的疑问之後,突然想到会不会是因为小弟的ajax写法的问题
如下
$.ajax({
url: "ajaxss.php?outputval="+x,
type: "GET",
success: function(response) {
$('#a').html(response);
},
error: function() {
console.log("ajax error!");
}
});
这是丢给<div id="a">去显示,(就单纯显示值无显示程式码文字)
但在取值的部分就会抓到程式码(我是用alert去看取值为何)
※ 编辑: mickeyboy (111.253.139.26), 12/19/2014 10:30:29
9F:→ mrbigmouth: 这没有全部程式码无法猜测错误在哪 12/19 11:52
10F:推 Peruheru: 你如果网站有上线的话,直接给网站会更好找问题 12/19 12:28
11F:推 jhunkyoiori: 因为你把值塞在<div id="a">里面, 12/19 13:01
12F:→ jhunkyoiori: 所以你抓$('#a').text()会显示<div>里面的内容 12/19 13:02
13F:→ jhunkyoiori: 你要在抓下一层的资料的话 你的选择器那边要再指定 12/19 13:03
14F:→ jhunkyoiori: 再 12/19 13:04
15F:推 Peruheru: 等等,所谓的程式码难道是指Dom结构? 12/19 13:11
16F:→ Peruheru: 这误会大了 12/19 13:11
17F:→ Peruheru: HTML的标签并不属於"程式码",说程式码我还以为是JS... 12/19 13:12
因为我是单机在撰写所以无法放在网路上给大家帮忙
真是抱歉,小弟的结构是 从A页用AJAX到B.php程式页 会显示於A页的<div></div>中
但在取值上,会将B.php的JS码也显示出来(以alert来看)
小弟的B.php 是放了一些回圈以及JS程式码
而用alert 看取值 是取得了
<title>测试</title> --> 测试 (HTML码没显示但似乎以空白呈现)
还有<script language="JavaScript"> </script> 之间的JS程式码
感谢各位的指教 小弟继续努力除错
※ 编辑: mickeyboy (111.253.139.26), 12/19/2014 13:59:04
18F:→ KawasumiMai: 1.使用PHP测试环境应该不是单机吧?难不成没PHP环境? 12/19 16:11
19F:→ KawasumiMai: 2.AJAX的传回值端看单独执行B.php会印出什麽东西 12/19 16:11
20F:→ KawasumiMai: 你直接连B.php,看原始码,看到什麽就是接到什麽 12/19 16:12
21F:→ KawasumiMai: 包含HTML标签啦JS什麽的,所以你不想接到JS却写JS 12/19 16:12
22F:→ KawasumiMai: 就错了,一般除了刻意这麽做,不然AJAX的後端只会 12/19 16:12
23F:→ KawasumiMai: 印出一些基本的资料串,或是JSON等 12/19 16:13
24F:→ KawasumiMai: 把JS传回来并不是不对,但看样子你不是想要这麽做 12/19 16:14
25F:推 crossdunk: 他的意思应该是他用localhost侧是吧 12/22 09:12
26F:推 crossdunk: 如果你跑出来是<title>测试</title> 12/22 09:16
27F:→ crossdunk: 那你试试看 $('#id title).text(); 12/22 09:17
28F:→ crossdunk: 问题应该是出在你的b.php 你传回来应该有给他标签吧 12/22 09:17