一段时间以来,我一直在使用以下功能并取得了巨大的成功,但最近它停止了工作。我没有改变任何东西;相同的浏览器、服务器、相同的 jquery 库,一切都一样,所以我不知道出了什么问题。以下函数接受一个长字符串并将其转换为一个对象:
$(function()
{
var _sid = getUrlVar('AICC_SID');
var _url = getUrlVar('AICC_URL');
$.get(_url,{command:"GetParam",version:"2.2",session_id:_sid},function(response)
{
var _obj = toJSON(response);
console.log(_obj);
});
});
function toJSON(str)
{
var obj = {};
str.replace(/([^=]+)=(.*)\n/g, function (_, name, value)
{
console.log('name : ' + name);
console.log('value : ' + value);
obj[name] = $.trim(value);
});
return obj;
}
这是得到转换的字符串:
ERROR=0
ERROR_TEXT=Successful
VERSION=2.2
AICC_DATA=[CORE]
STUDENT_ID=0425655
STUDENT_NAME=Doe, John B
SCORE=
TIME=00:00:00
CREDIT=C
LESSON_LOCATION=1_5
LESSON_STATUS=NULL
[Core_Lesson]
[Objectives_Status]
问题是.replace()
似乎没有运行。该toJSON()
函数将字符串转换为对象,但它总是返回空对象。希望这能解决问题。