在JQuery / AJAX中动态更改contentType

时间:2014-05-14 19:24:09

标签: javascript jquery ajax json pdf

是否可以使用JQuery / AJAX动态更改contentType?

例如:

$("li").click(function(){
   $("#pdfDiv").hide();
       $.getJSON("IndexServlet", {id: this.id,"EVENT":"GETPDF"}, function(data){
            var url1 = 'data:application/pdf;base64' + data;
            var setContent = $.ajax({
                     contentType:"application/pdf"
            });                     
   setContent.done(function(){
     $("#pdfDiv").append(url1).show();
   });
});

原因是因为我通过响应检索JSON数据,但我想以某种方式使用JSON数据(这是PDF的64位字符串)并向页面显示PDF。

1 个答案:

答案 0 :(得分:0)

不,当数据传递到getJSON()的完成函数时,内容类型已经被解释,并且数据根据该类型进行解析。内容类型需要与数据一起返回,或者在进行ajax调用之前适当设置,或者您必须挂钩jQuery的ajax基础结构以参与猜测内容类型应该是什么。

如果您想以两种不同的方式自己解释相同的数据,则必须选择不进行解析的内容类型(如字符串),然后自己解析它。