2009-09-25 21 views
2

jQuery Autocomplete插件依賴於奇怪的響應格式。具體而言,它是一個以換行符分隔的管道分隔對列表,每對的第一個條目是一些格式化的文本,後者是帶有一些數據的JSON對象。我應該使用什麼MIME類型來進行jQuery自動完成查詢?

一個例子:

Fuzzy Bunnies|{ id: '1234-fuzzy-bunnies', type: 'slippers' } 
Loud Hawaiian Shirt|{ id: '3993-loud-hawaiian-shirt', type: 'shirt', sizes: ['S', 'M', 'L'] } 

我的問題是:什麼樣的MIME類型的有意義的呢?這不完全是application/json,因爲那個奇怪的管道和列表是以換行符分隔的事實,並不表示爲一個Javascript數組。它也不是text/plain,因爲只有第一部分是純文本(甚至可能允許標記 - 我不確定)。

+0

爲什麼你不使用Json的整個數據? – Gumbo 2009-09-25 17:22:09

+0

因爲_I_不能選擇插件接受的格式。我不得不重寫插件來解析JSON。 – 2009-09-26 02:51:46

回答

4

您應該將它作爲text/plain發送,因爲這就是它的真實含義。部分文本具有特定含義的事實並不意味着文件是json。否則,例如,您可能會認爲存儲單個文本變量的二進制文件是文本文件。

如果您發送該文件爲json您可能會遇到一些問題,因爲這不是有效的json文件。

+0

+1。您也可以將它(或任何其他)作爲應用程序/八位字節流發送,以完全不明確它的類型。但是,瀏覽器總是嘗試將這些字節解碼爲resposneText中的Unicode字符串(默認使用UTF-8)。 – bobince 2009-09-25 17:37:31

-1
Content-Type: application/json; charset=iso-8859-1 
相關問題