AJAX文本响应带有每个字符之间的空格

时间:2017-10-13 09:30:03

标签: javascript jquery ajax

我遇到了奇怪的问题。我的文本文件包含 JSON 格式的数据。当我对其进行 AJAX 调用时,它会获得每个字符之间的空格响应。

我的代码:

$.ajax({
  type:'GET',
  async: false,
  dataType: "text",
  url: escape(url),
  success: function(data) {
    console.log("ajax success");        
    var result = JSON.parse(JSON.stringify(data));    
    console.log("Data has: "+ result);
  }
});     

ajax如何带回数据是这样的 [字符之间有空格]

enter image description here

并且文本中的编码符号例如< >没有解码回来。

请帮忙

如果我将json文本直接放在上面代码中的数据位置并在浏览器控制台上执行。它完美无缺。

[{"MenuJson":null,"menu_en":{"service":"\u003cp\u003eRoasted coalfish fillet \u003cbr/\u003ein creamed dill sauce, served with\u003cbr/\u003eleaf lettuce in sweet cream dressing\u003cbr/\u003eand boiled potatoes\u003cbr/\u003e\u003cbr/\u003eFruits from the market\u003cbr/\u003e\u003cbr/\u003e\u003c/p\u003e","buffet":"\u003cp\u003eCreamed parsnips soup\u003cbr/\u003eSautéed gnocchi,\u003cbr/\u003eserved with cheese sauce\u003cbr/\u003e\u003c/p\u003e"},"menu_de":{"service":"\u003cp\u003eGebratenes Seelachsfilet\u003cbr/\u003eDillrahmsauce \u003cbr/\u003eBlattsalate, \"Sylter Dressing\"\u003cbr/\u003eSalzkartoffeln\u003cbr/\u003e.\u003cbr/\u003eObst vom Markt \u003cbr/\u003e\u003cbr/\u003e\u003c/p\u003e","buffet":"\u003cp\u003ePastinakenrahmsuppe\u003cbr/\u003eSautierte Gnocchis \"Gärtnerin Art\"\u003cbr/\u003eKäsesauce \u003cbr/\u003e\u003c/p\u003e"}}]

1 个答案:

答案 0 :(得分:1)

最后我想通了。

在服务器文本编码中创建文本文件时出错了。我通过控制台应用程序在服务器中创建了带有UTF8编码的文本文件。

最终的Ajax调用就像这样

$.ajax({type:'POST',async: false,contentType: "text/plain; charset=utf-8", dataType: "text",url: escape(url),
success: function(data) {
  console.log("ajax success");              
  var result = JSON.parse(data);     
  console.log("Data has: "+ result)});