我有一个字符串,类似
"Bob\u0027s Burgers"
decodeURI
似乎没有将\u0027
变成撇号,就像它应该的那样。到目前为止,它只是让它一个人。 encodeURI
似乎做了各种各样的事情,但decodeURI
似乎没有做到这一点。我在这里错过了什么吗?或者正如他们用不太雄辩的英语所说,“做什么?”
编辑:返回字符串的代码:
courseNames
保存所需的值
$.ajax({
async: false,
url: "/urlforaction",
type: 'POST',
data: {eventID: model.EventID},
complete: function (data) {
courseNames = data["responseText"].substring(1).substring(0, data["responseText"].length-2).split(',');
//courseNames = courseNames.split(',');
//courseNames = courseNames.replace('"', '');
for (i = 0; i < courseNames.length; i++) {
courseNameHTMLStream += courseNames[i] + '<br/>';
}
}
});
Double Edit:responseText包含如下字符串:
“类别标题,Bob / us27s Burger 1,Bob / u0027s Burger 2”
答案 0 :(得分:1)
只需通过JSON.parse
传递即可解决问题,
var foo = '"Category Title,Bob\\u0027s Burger 1,Bob\\u0027s Burger 2"';
console.log(foo);
// outputs "Category Title,Bob\u0027s Burger 1,Bob\u0027s Burger 2"
console.log(JSON.parse(foo));
// outputs Category Title,Bob's Burger 1,Bob's Burger 2
http://jsfiddle.net/tj38pehv/1/
从那以后,你可以继续用逗号分隔它。
来自评论:
c#是re
return Json(string.Join(",", <a complicated EF join statement>, JsonRequestBehavior.AllowGet);
那你为什么要加入那些价值呢?如果<a complicated EF join statement>
导致类似于数组的结构,那么只需将 编码为JSON,而不是使用逗号分隔的字符串,就应该为您提供数组你的JavaScript中的单个值...