關於json_encode()困惑

來源:互聯網
上載者:User
在控制器裡我是這樣寫的

然後我在一個文本裡輸出了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裡面代碼貼出來看看

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.