我使用jquery ajax来获取文本文件内容,这里需要显示的文本区域是我的前端代码
function getFileText()
{
var fileName = "fileName.txt";
var data = {
"fileName" : fileName
}
$.ajax({
"dataType": 'json',
"type": "GET",
"url": "getFileText.htm",
"data":data ,
cache:false,
success : function(resp){
alert(resp);
},
error : function(XMLHttpRequest, textStatus, errorThrown){
alert("error");
}
});
}
<textarea id="fileTextArea" rows="35" cols="250"> </textarea>
public @ResponseBody String getFileText(HttpServletRequest request,HttpServletResponse response) throws IOException{
String fileName = request.getParameter("fileName");
String dirname="D:/java/";
FileInputStream file = new FileInputStream(new File(dirname+fileName));
DataInputStream in = new DataInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
StringBuffer str = new StringBuffer();
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
// Print the content on the console
str.append(strLine);
System.out.println(strLine);
}
//Close the input stream
in.close();
return str.toString();
}
我的filename.txt看起来像
<html>
<body>
<b> Hi user </b>,
<br>
<p>Welcome to FileText</p>
<body>
</html>
现在,我能够得到响应,但它总是转到ajax调用的错误块并显示解析错误,......“意外的令牌&lt;”
请帮帮我。如何正确地将文本文件内容放入响应中。
答案 0 :(得分:1)
您应该将dataType
更改为text
或html
。
Datatype
你告诉jQuery期待什么样的回应。所以在你的代码中你期待json。
$.ajax({
"dataType": 'json',
找到数据类型和内容类型的一个很好的解释
答案 1 :(得分:0)
<br>
没有结束标记。使用<br/>
答案 2 :(得分:0)
您也忘了关闭<body>
代码。
<html>
<body>
<b> Hi user </b>,
<br />
<p>Welcome to FileText</p>
</body>
</html>
答案 3 :(得分:-1)
我改变了
$.ajax({
"dataType": 'json',
要 $就({ “dataType”:'text',
现在它正在运作..
谢谢..