Java 从servlet检索文件时出现Jquery Ajax解析错误
我正在服务器端创建PDF文件,并根据servlet请求返回该文件。我正在使用jQueryAjax调用检索此内容,但它给了我解析错误,原因可能是什么 服务器端代码Java 从servlet检索文件时出现Jquery Ajax解析错误,java,jquery,ajax,servlets,pdf,Java,Jquery,Ajax,Servlets,Pdf,我正在服务器端创建PDF文件,并根据servlet请求返回该文件。我正在使用jQueryAjax调用检索此内容,但它给了我解析错误,原因可能是什么 服务器端代码 response.setHeader("Pragma", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("application/pdf"); String fileName = "Vendormaster.pdf"; respons
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);
response.setContentType("application/pdf");
String fileName = "Vendormaster.pdf";
response.setHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");
RandomAccessFile f = new RandomAccessFile("D:/PDF_1.pdf", "r");
byte[] pdfBytes= new byte[(int)f.length()];
f.read(pdfBytes);
ServletOutputStream out = response.getOutputStream();
response.setContentLength(pdfBytes.length);
out.write(pdfBytes);
out.flush();
Ajax调用
function GetData(url){ var dataObject=[]; $.ajax({
url : url,
type : "GET",
async : false,
dataType : 'json',
contentType : "application/json",
beforeSend:function(){ // $("#ajaxloader").fadeIn(); },
success : function(data, textStatus, jqXHR) { dataObject= data; // $("#ajaxloader").fadeOut(0);
},
error : function(data,b,c) {
var error; // $("#ajaxloader").fadeOut(0);
return null;
}
来自实时Http标头的标头
GET/vendor\u master\u new/PdfGen HTTP/1.1主机:xx.xx.xxx.xx:50000
接受:application/json,text/javascript,/;q=0.01
接受编码:gzip,deflate,sdch接受语言:en-US,en;q=0.8
内容类型:application/json Cookie:saplb_*=(J2EE3952620)3952650;
MYSAPSO2=AJEXMDAGABRWB3J0YWW6QWRTAW5PC3RYXRVCOGAB2LZMF1BHQBAACAMWMDADANfUdeaWYMEAYNDEFAQAAICGAA%2WeeXimiBayOziOziHymbMQSWCQYFKW4AHOFADALBGKK9WWW8WGCWGCW8WGCWGCWQCAQEQEQWYWYDYDYDYDYDYDYDYDYDYDYDYDYDYDQQQQDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDYDQQQQvcNAQkEMRYEFNI0asgM56O%2FHRIW9MALCMVSFKJLMAKGBYQGSM44BAMELJASAHRRVFDONZXSD1X6!YYuN3rFTWD4QGwIUa6cOuiyvPzHS355ksX7!%2Ft5az3c%3D;
JSESSIONID=olcptllrixgcMgn5_xL0y4mRZzAQSAEKUDwA_SAP-1uldj55yizysgul10rvcmd;
JSESSIONMARKID=CttAveof7GPQFoe5GJFKLIPGTAVLDBCRWPQPAA参考:
用户代理:Mozilla/5.0(Windows NT 6.1;WOW64)AppleWebKit/537.36
(KHTML,像壁虎)Chrome/36.0.1985.143 Safari/537.36
X-request-With:XMLHttpRequest
HTTP/1.1 200 OK内容配置:附件;
filename=“Vendormaster.pdf”内容长度:480288内容类型:
申请/pdf日期:2014年8月26日星期二03:10:54格林尼治标准时间到期:01年4月1日星期四
1970年1月00:00:00 GMT布拉格语:无缓存服务器:SAP NetWeaver
应用服务器7.41/AS Java 7.40
因为您返回原始pdf文件。这不是json格式。不知道您试图在页面中使用二进制PDF数据做什么,但实际问题类似于。1。将ajax调用中的contentType更改为在服务器[application/pdf]2中设置的内容。参考这篇文章,它几乎是重复的