看板 Ajax 關於我們 聯絡資訊
卡關了一陣子,想請問關於使用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
Peruheru: 對不起,看不懂你在寫什麼 12/19 09:06
Peruheru: 用.text取值會顯示js程式碼?你怎麼做到的? 12/19 09:07
Peruheru: 你是把<script></script>片段寫在這裡面嗎? 12/19 09:08
Peruheru: 如果是這樣,那你本來就不應該取他的值阿,你該把結果放 12/19 09:08
Peruheru: 在只會有"值"的地方,取出來才會是"值"阿 12/19 09:09
Peruheru: 比如說裡面再放一個<div>來存放值 12/19 09:10
Peruheru: 反過來說,為什麼你要把程式碼放在你覺得應該放值的地方 12/19 09:11
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
mrbigmouth: 這沒有全部程式碼無法猜測錯誤在哪 12/19 11:52
Peruheru: 你如果網站有上線的話,直接給網站會更好找問題 12/19 12:28
jhunkyoiori: 因為你把值塞在<div id="a">裡面, 12/19 13:01
jhunkyoiori: 所以你抓$('#a').text()會顯示<div>裡面的內容 12/19 13:02
jhunkyoiori: 你要在抓下一層的資料的話 你的選擇器那邊要再指定 12/19 13:03
jhunkyoiori:   再 12/19 13:04
Peruheru: 等等,所謂的程式碼難道是指Dom結構? 12/19 13:11
Peruheru: 這誤會大了 12/19 13:11
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
KawasumiMai: 1.使用PHP測試環境應該不是單機吧?難不成沒PHP環境? 12/19 16:11
KawasumiMai: 2.AJAX的傳回值端看單獨執行B.php會印出什麼東西 12/19 16:11
KawasumiMai: 你直接連B.php,看原始碼,看到什麼就是接到什麼 12/19 16:12
KawasumiMai: 包含HTML標籤啦JS什麼的,所以你不想接到JS卻寫JS 12/19 16:12
KawasumiMai: 就錯了,一般除了刻意這麼做,不然AJAX的後端只會 12/19 16:12
KawasumiMai: 印出一些基本的資料串,或是JSON等 12/19 16:13
KawasumiMai: 把JS傳回來並不是不對,但看樣子你不是想要這麼做 12/19 16:14
crossdunk: 他的意思應該是他用localhost側是吧 12/22 09:12
crossdunk: 如果你跑出來是<title>測試</title> 12/22 09:16
crossdunk: 那你試試看 $('#id title).text(); 12/22 09:17
crossdunk: 問題應該是出在你的b.php 你傳回來應該有給他標籤吧 12/22 09:17