我遇到了奇怪的问题。我的文本文件包含 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如何带回数据是这样的 [字符之间有空格]
并且文本中的编码符号例如< >没有解码回来。
请帮忙
如果我将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"}}]
答案 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)});