jQuery .each()循环遍历数组更改查询字符串

时间:2017-09-11 16:01:13

标签: jquery ajax query-string each

我在代码中发现了一个奇怪的错误,我无法找到它出错的地方。我正在使用这个函数在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来自哪里?我完全不知道。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

  

重要的是:CA-S_INT-CM%25MITTELKONSOLE 25来自哪里?

这是完全正常的。 %25是URI编码中%字符的正确编码; GET参数中的字符必须编码,因为它们是请求URI的一部分。 %在URI编码方面很特殊,因为它引入了编码字符(%25%,空间为%20等。)您的服务器将转换%25当它对URI进行解码时返回%