在我的項目中,有一個URL通常會響應一個圖像,其中Content-Type:image/png
由Java用用戶數據動態繪製。JavaScript在一個請求中處理不同的內容類型
但有時候會導致某些原因,用戶不應該看到圖像或圖像不能與用戶的數據繪製。在包含有
Content-Type:application/json; charset=utf-8
這是可能的錯誤信息顯示,而服務器響應Content-Type:image/png
否則以提醒,而服務器響應Content-Type:application/json; charset=utf-8
錯誤信息的圖像這種情況下,服務器將響應JSON結果?
我可以處理任何一種響應內容類型,但在處理一個請求中的兩種內容類型方面苦苦掙扎。這可能嗎?
編輯
我嘗試使用AJAX像
<img id="preview-img"/>
$.ajax({
url: "/preview",
type: "GET",
dataType: "JSON",
success: function(data) {
if (!data.success) {
alert(data.msg);
}
},
error: function() {
alert("occur error");
}
});
有了上面的代碼,alert(data.msg)
時可用服務器響應JSON結果和錯誤消息,但alert("occur error")
會觸發時,服務器響應正確的圖像。
和我一起刪除dataType
重試:
$.ajax({
url: "/preview",
type: "GET",
success: function(data) {
if (!data.success) {
alert(data.msg);
}
},
error: function() {
alert("occur error");
}
});
高興地看到,success
功能被觸發無論是服務器響應圖片或JSON
但我不知道如何使用,看起來像響應數據顯示圖像
ÿØÿàJFIFÿÛC
$.' ",#(7),01444'9=82<.342ÿÛC
2!!22222222222222222222222222222222222222222222222222ÿÀ%a"ÿÄ
ÿĵ}!1AQa"q2¡#B±ÁRÑð$3br
%&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ
ÿĵw!1AQaq"2B¡±Á #3RðbrÑ
$4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?÷ú(¢
......
一堆垃圾。
現在我暫時不處理JSON結果
<img id="preview-img"/>
var image = new Image();
image.onload = function() {
$("#preview-img").attr("src", "/preview");
};
image.onerror = function() {
alert("could not load image");
};
image.src = "/preview";
是否使用AJAX? –
郵政編碼..如果你使用ajax,你可以。 –
是否只有兩個端點(一個用於成功/錯誤狀態,一個用於圖片,如果發生錯誤則爲空白)提高效率的唯一原因是? – GregL