在控制器裡我是這樣寫的
然後我在一個文本裡輸出了Json格式是這樣的;
可是接收端老提示系統錯誤,百度了下說是編碼不對,可我接收端開頭已經寫了
並且發送端控制器裡也指定了UFT-8編碼。
現在接收端就是接受不了資料說是系統錯誤。。
我用window.alert("ok");能成功
證明資料返回來了,可是錯誤處在VAR T這裡老提示系統錯誤。。
請問怎麼解決啊?
能否提供下代碼?
回複討論(解決方案)
header("Content-type: application/json")
試試
header("Content-type: application/json")
試試
不行啊在接收頁面加入這句話把整個頁面給我返回過來了。。關鍵的是資料還是沒有擷取到
提示的系統錯誤是錯誤: 系統錯誤: -1072896658。
這該怎麼辦啊
如果要返回json資料,你必須返回‘標準’的json資料, 這裡說的標準不只是對於你json資料是標準的,而是在你的傳回值中不能包含其他的非法項!
出現這種錯誤有可能是你在返回json資料之前或之後已經有了其他輸出, 比如檔案BOM頭,我前幾天就遇到了這種情況,我的php檔案編碼成UTF-8但是移植到linux下檔案開頭多了一個這個字元
-
就是那個小 -讓我糾結了好久,最後把檔案前面的 -全部刪掉就好了!
也有可能你的其他部分的代碼有輸出 比如一個空格或者其它的什麼東西! 4樓的我不明白我查看了我要輸出的JSON資料,格式沒問題可現在是我這邊接收不到值
var t = myxml.responseText ;
這句話就是老出錯,表示就是接受不到
Ajax 系統錯誤: -1072896658
如果XMLHttpRequest對象請求的文檔未指定正確的utf-8編碼,調用responseText方法時就會出現這個錯誤
瀏覽器系統錯誤:-1072896658(Explorer system error: -1072896658)
換個瀏覽器試試呢
雖然你在代碼中加上了charset=utf8
但是你的PHP檔案的實際編碼是什麼格式呢?
然後我在一個文本裡輸出了Json格式是沒問題的, 中文使用了utf8編碼。在前端javascript代碼中增加類似下面的代碼:
data = eval('(' + data + ')'); // 假設收到的內容儲存在data中。
不行的話,你把所有牽涉的檔案
*.php的都加上 header("Content-Type: text/html;charset=utf-8");
包括html檔案中,嵌入javascript的地方加上charset="utf-8"
你頁面編碼是否utf8?
把你那個Ajax對象就是myxml裡面代碼貼出來看看