※ 本文為 dinos.bbs. 轉寄自 ptt.cc 更新時間: 2012-06-20 00:16:14
看板 Ajax
作者 標題 [問題] 簡單的ajax在ie9會錯誤
時間 Sun Jun 17 23:19:04 2012
我要做的功能只是很單純的檢查帳號存不存在的狀況
js 如下這樣寫
$.ajax({
type:"GET",
url:"ask_account.php",
data:{account:mail},
dataType:"html",
async: false,
success:function(ret){
if(ret=="1") {
$("#nt_msg").html("帳號已存在");
} else {
$("#nt_msg").html("帳號可使用");
}
}
});
而 php 檔的部分
$get = $_GET;
$mail = $get["account"];
if(isIDExist($mail)) { // isIDExist 檢查存在而已
echo "1";
} else {
echo "0";
}
我在 Chrome , Firefox , Opera 都可以正常跑出存在的結果
但在 IE9 的狀況則是 ret 不管怎麼用都是 undefined
是過 $.get 的方式也一樣
對於這種狀況該如何修正~"~...
* 我嘗試過把檔案傳到 SERVER 上的結果也是一樣
--
[There's no undo in your life]
●~ ●~ ●~ ●~ ●~ ●~--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.32.186.193
推 :cache:false???1F 06/17 23:44
→ :一樣的結果~@@2F 06/17 23:54
推 :改成ret.responseText3F 06/17 23:56
→ :會回傳 undefined4F 06/17 23:57
推 :為何不用json格式5F 06/17 23:57
推 :嗯..不對 問題不是這個6F 06/17 23:58
→ :我只回傳0/1 用json會比較好嗎..7F 06/17 23:58
推 :php 應該有 json_encode8F 06/18 00:00
→ :回傳一樣是undefined,json一樣9F 06/18 00:07
推 :@@ 我測很正常10F 06/18 01:20
→ :在 success callback 裡面 alert(ret) 是 undefined?
→ :在 success callback 裡面 alert(ret) 是 undefined?
推 :http://forum.jquery.com/topic/fix-jquery-ajax-errors-i12F 06/18 04:25
→ :forum.jquery.com/topic/fix-jquery-ajax-errors-in-ie
→ :forum.jquery.com/topic/fix-jquery-ajax-errors-in-ie
→ :to bibo9901 我是 undefined 沒錯..14F 06/18 09:00
→ :to epenpal: 謝謝,我回去測試看看,是因為我直接echo沒有
→ :加入<html><meta>訊息導致的問題囉...
→ :to epenpal: 謝謝,我回去測試看看,是因為我直接echo沒有
→ :加入<html><meta>訊息導致的問題囉...
推 :網頁好像不是這樣寫的吧、有什麼 meta 嗎? @ @17F 06/18 10:05
→ :我php檔除了 echo 0 / 1 以外沒有任何輸出@@ ...18F 06/18 10:17
→ :除了 include 一些 function 以外
→ :另外我直接用網址連到 ask_account.php 輸出也是只有 0 / 1
→ :除了 include 一些 function 以外
→ :另外我直接用網址連到 ask_account.php 輸出也是只有 0 / 1
把我的 ask_account 丟出來測試好了 ..
http://www.sunlin.org.tw/yjrivers/ask_account.php?account=xxxxx
基本上就是這頁了。
(別偷看其他頁就好QQ.. 我的 desinger 是用 dw 套畫面,相容性很低,沒時間改)
推 :你有開f12檢查嗎?21F 06/18 12:55
→ :有,f12沒有顯示錯誤,用中斷點一行一行跑也沒有什麼特殊22F 06/18 14:04
→ :狀況(不過jquery的ajax我就沒仔細看..)
→ :把ret抓出來是寫 error 沒有資料
→ :狀況(不過jquery的ajax我就沒仔細看..)
→ :把ret抓出來是寫 error 沒有資料
推 :我有這樣試過後~~其實用alert(ret);後發現...25F 06/18 14:54
→ :IE會顯示 "0" CHOREM則顯示 0 所以IE一直無法判斷
→ :"0" 等於 0
推 :可以將datatype改成 json看看~~IE跟CHROME都可以傳回0..
→ :IE會顯示 "0" CHOREM則顯示 0 所以IE一直無法判斷
→ :"0" 等於 0
推 :可以將datatype改成 json看看~~IE跟CHROME都可以傳回0..
→ :我使用 IE 的 alert ret 顯示 undefined, CHROME 正常29F 06/18 15:20
→ :使用過 json 的方式再 chrome 也正常,IE則一樣undefined
→ :使用過 json 的方式再 chrome 也正常,IE則一樣undefined
推 :怪了@@我的很正常耶@..會不會是HTML碼的問題?31F 06/18 15:29
→ :http://jimpop.sytes.net/test/120618/t1.php
→ :可以參考看看~~
→ :仿造你的環境用的!
→ :http://jimpop.sytes.net/test/120618/t1.php
→ :可以參考看看~~
→ :仿造你的環境用的!
http://www.sunlin.org.tw/yjrivers/newaccount.php
給大家測試一下好了~"~
帳號用 newculturetalk@gmail.com
CHROME 底下會顯示 帳號已存在
IE 底下就會顯示 帳號可使用
實際上這個帳號是存在的~"~...
---
我在家了,上面測試依舊失敗
另外我直接使用 $.ajax 讀自己的 index ,
$.ajax({ url:"index.php", type:"get", success:function(rett) { alert(rett);
}});
一樣是回 undefined...= ="
※ 編輯: kerash 來自: 114.32.186.193 (06/18 20:09)
→ :剛剛測一下,如果 url是html,就會成功,php就會失敗..35F 06/18 20:18
推 :我猜應該是本檔的問題....因為~~引用同一檔案我的OK~你的36F 06/18 22:57
→ :整串複製下來~~把JQUERY改成跟我一樣的~回來還是空值...
→ :嘗試中....
→ :整串複製下來~~把JQUERY改成跟我一樣的~回來還是空值...
→ :嘗試中....
→ :囧,如果有錯誤訊息則是會印的出回傳 .. 沒錯誤就失敗39F 06/18 23:04
找到解答了 ...
我的 CONFIG 裡面有這行
header("Content-type: text/html; charset=utf8");
UTF8->UTF-8....
= ="
所以錯誤不是在語法,是PHP打錯
※ 編輯: kerash 來自: 114.32.186.193 (06/18 23:10)
推 :恭喜解決了~~~可是我剛剛嘗試中遇到很奇怪的問題....40F 06/18 23:15
→ :要求的AJAX檔案~~竟然一直讀快取...值永遠不會變....
→ :我也覺得很奇怪.....不過主問題解決就好了~這也不想管..
→ :要求的AJAX檔案~~竟然一直讀快取...值永遠不會變....
→ :我也覺得很奇怪.....不過主問題解決就好了~這也不想管..
→ :QQ,會不是會 cache false 沒設?43F 06/18 23:16
→ :好像不太可能= =
→ :好像不太可能= =
→ :原來也在想會不會是編碼的問題...沒想到還真的是45F 06/19 00:34
→ :就一時筆誤沒發現QQ 因為都手打偶爾都會少按一個鍵XD46F 06/19 09:10
→ :如果不是因為有檔案不存在的error被丟回來,我還真的找不到
→ :主要哪邊出問題 囧"
→ :如果不是因為有檔案不存在的error被丟回來,我還真的找不到
→ :主要哪邊出問題 囧"
--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 197
回列表(←)
分享