我在代码中发现了一个奇怪的错误,我无法找到它出错的地方。我正在使用这个函数在jQuery中循环一个数组:
$.each(response, function(index, value) {
console.log(value)
$.get('/part_report_snippet', {
part_request: value,
projekt_nummer: $('#project_id').val()
}, function(response){
var $content = $(response);
$grid.append($content).isotope('appended', $content);
});
数组看起来像这样:
value = ["CA-S_INT-CM%MITTELKONSOLE", "CA-S_EXT-DM%HECK", "CA-S_INT-CM%BAUTEIL-S", "CA-S_INT-DM%BAUTEIL-M", "CA-S_INT-DM%BAUTEIL-S", "CA-S_INT-DM%EINZELSITZ", "CA-S_INT-DM%HINTERWAGEN", "CA-S_INT-DM%INTERFACEELEMENTE", "CA-S_INT-DM%ITAFEL", "CA-S_INT-DS%TÜR-HINTEN", "CA-S_INT-DS%TÜR-VORNE", "CA-S_ORG%MEETING", "CA-S_ORG%ORGANISATION", "CA-S_ORG%REVIEW"]
和错误:
jquery.js:9175 GET http://uewin007:5000/part_report_snippet?part_request=CA-S_INT-CM%25MITTELKONSOLE&projekt_nummer=22135 500(内部服务器错误)
重要的是:CA-S_INT-CM%**25**MITTELKONSOLE
。 25来自哪里?我完全不知道。
感谢您的帮助
答案 0 :(得分:0)
重要的是:CA-S_INT-CM%25MITTELKONSOLE 25来自哪里?
这是完全正常的。 %25
是URI编码中%
字符的正确编码; GET参数中的字符必须编码,因为它们是请求URI的一部分。 %
在URI编码方面很特殊,因为它引入了编码字符(%25
为%
,空间为%20
等。)您的服务器将转换%25
当它对URI进行解码时返回%
。