我想在可比性模式下在IE8中加載JavaScript的JSON特性。如何在Javascript中爲IE8加載JSON特性?
我是advised使用douglascrockford/JSON-js獲取JSON加載到過時的瀏覽器。
這是我所做的。我在我的資源文件夾中添加了一個新文件,並將其命名爲json2.js
然後從JSON-js項目複製json2.js
文件內容並將其粘貼到我的json2.js
文件中,並將文件resources/json2.js
包含到我的應用程序中。
現在,我試圖用JSON.stringify
轉換對象爲JSON字符串,它是給我下面的錯誤
但是當我在IE8中使用JSON.stringify(records)
下兼容模式我得到這個錯誤
Line: 314
Char: 21
Error: Invalid procedure call or argument
Code: 0
這裏是我做了什麼
HTML標記
<div id="d">Click Here</div>
<div id="s"></div>
Javascript代碼
var records = {};
$(function(e){
records['123'] = {};
records['456'] = {};
records['123']['rec_id'] = 4456;
records['123']['created_at'] = '';
records['123']['assigned_at'] = '';
records['123']['sys_id'] = 1745;
records['456']['rec_id'] = 4456;
records['456']['created_at'] = '';
records['456']['assigned_at'] = '';
records['456']['sys_id'] = 1745;
$.each(records, function(callID, record){
record['campaign_id'] = '1';
record['offset'] = 123;
record['attempt'] = '7';
record['phone'] = '800-123-4567';
record['identity'] = 123;
record['code'] = 'Some Code';
record['notes'] = 'Some notes';
record['completed_by'] = 'Mike A';
record['name'] = null;
record['completed_at'] = "";
});
$('#d').click(function(e){
$('#s').text( JSON.stringify(records) );
});
});
上面的代碼中可以找到以下jFiddle https://jsfiddle.net/4632wf5n/
我能做些什麼,我的對象轉換成JSON字符串在IE8與可比性模式?
鑑於你使用jQuery,爲什麼不使用它的JSON方法,而不是包括json2.js呢? – nnnnnn
如何使用jQuery轉換對象而不使用'JSON.stringify()'?我不認爲有這樣的事情http://stackoverflow.com/questions/3904269/convert-object-to-json-string –
對不起,我以爲jQuery有一個等效的方法,但它看起來像我錯了。 JQuery *確實有一個$ .parseJSON()方法,但顯然這與你正在做的事情相反。 – nnnnnn