[問題] div取值問題

看板Ajax作者 (mickey)時間9年前 (2014/12/19 08:59), 9年前編輯推噓7(7021)
留言28則, 5人參與, 最新討論串1/1
卡關了一陣子,想請問關於使用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://www.ptt.cc/bbs/Ajax/M.1418950753.A.159.html

12/19 09:06, , 1F
對不起,看不懂你在寫什麼
12/19 09:06, 1F

12/19 09:07, , 2F
用.text取值會顯示js程式碼?你怎麼做到的?
12/19 09:07, 2F

12/19 09:08, , 3F
你是把<script></script>片段寫在這裡面嗎?
12/19 09:08, 3F

12/19 09:08, , 4F
如果是這樣,那你本來就不應該取他的值阿,你該把結果放
12/19 09:08, 4F

12/19 09:09, , 5F
在只會有"值"的地方,取出來才會是"值"阿
12/19 09:09, 5F

12/19 09:10, , 6F
比如說裡面再放一個<div>來存放值
12/19 09:10, 6F

12/19 09:11, , 7F
反過來說,為什麼你要把程式碼放在你覺得應該放值的地方
12/19 09:11, 7F

12/19 09:17, , 8F
放在div裡面的不會是程式碼 只是文字而已
12/19 09:17, 8F
不好意思,敘述不清楚 <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

12/19 11:52, , 9F
這沒有全部程式碼無法猜測錯誤在哪
12/19 11:52, 9F

12/19 12:28, , 10F
你如果網站有上線的話,直接給網站會更好找問題
12/19 12:28, 10F

12/19 13:01, , 11F
因為你把值塞在<div id="a">裡面,
12/19 13:01, 11F

12/19 13:02, , 12F
所以你抓$('#a').text()會顯示<div>裡面的內容
12/19 13:02, 12F

12/19 13:03, , 13F
你要在抓下一層的資料的話 你的選擇器那邊要再指定
12/19 13:03, 13F

12/19 13:04, , 14F
  再
12/19 13:04, 14F

12/19 13:11, , 15F
等等,所謂的程式碼難道是指Dom結構?
12/19 13:11, 15F

12/19 13:11, , 16F
這誤會大了
12/19 13:11, 16F

12/19 13:12, , 17F
HTML的標籤並不屬於"程式碼",說程式碼我還以為是JS...
12/19 13:12, 17F
因為我是單機在撰寫所以無法放在網路上給大家幫忙 真是抱歉,小弟的結構是 從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

12/19 16:11, , 18F
1.使用PHP測試環境應該不是單機吧?難不成沒PHP環境?
12/19 16:11, 18F

12/19 16:11, , 19F
2.AJAX的傳回值端看單獨執行B.php會印出什麼東西
12/19 16:11, 19F

12/19 16:12, , 20F
你直接連B.php,看原始碼,看到什麼就是接到什麼
12/19 16:12, 20F

12/19 16:12, , 21F
包含HTML標籤啦JS什麼的,所以你不想接到JS卻寫JS
12/19 16:12, 21F

12/19 16:12, , 22F
就錯了,一般除了刻意這麼做,不然AJAX的後端只會
12/19 16:12, 22F

12/19 16:13, , 23F
印出一些基本的資料串,或是JSON等
12/19 16:13, 23F

12/19 16:14, , 24F
把JS傳回來並不是不對,但看樣子你不是想要這麼做
12/19 16:14, 24F

12/22 09:12, , 25F
他的意思應該是他用localhost側是吧
12/22 09:12, 25F

12/22 09:16, , 26F
如果你跑出來是<title>測試</title>
12/22 09:16, 26F

12/22 09:17, , 27F
那你試試看 $('#id title).text();
12/22 09:17, 27F

12/22 09:17, , 28F
問題應該是出在你的b.php 你傳回來應該有給他標籤吧
12/22 09:17, 28F
文章代碼(AID): #1KatXX5P (Ajax)