[英]strange behaviour with json object coming from ajax call in safari/webkit
我正在使用jquery對Web服務進行AJAX POST調用,並獲取了JSON對象,這給了我一些我想附加到div上的html代碼,它在firefox中可以正常工作,但問題是野生動物園不進行附加,下面是示例:
$.ajax({
type: "POST",
url: "ConnMgr.asmx/Request",
data: JSON.stringify(objectToSend),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(response){
$('#myDiv').empty();
$("#myDiv").append(response.d.htmlSnippet); //this doesn't work on safari but it does on FF
//$("#myDiv").append("<img src=\"image.png"/>")//this works in all browsers
//alert(response.d);//this works in all browsers
}
});
在野生動物園中,jquery似乎不喜歡使用json對象作為append()的參數的想法,我之前嘗試過創建變量的副本,插入延遲,在將變量傳遞給字符串之前將其轉換為字符串,但是結果是一樣的。
非常感謝
您是否嘗試過response.d.htmlSnippet.ToString()
您的意思是這樣的http://jsbin.com/elapa/在Safari中不適合您?
是的,我確實嘗試使用response.d.htmlSnippet.ToString(),但沒有幫助
最后,我做了一個變通辦法,方法是編寫htmlsnippet,然后從即將到來的JSON對象中僅獲取一個數字,這樣就可以正常使用safari調試控制台了,沒有報告任何錯誤
別挑剔,但這個障礙與
success: function(response) {
$('#myDiv').empty();
//this doesn't work on safari but it does on FF
//$("#myDiv").append("<img src=\"image.png"/>")//this works in all browsers
//alert(response.d);//this works in all browsers
$("#myDiv").append(response.d.htmlSnippet);
}
作為此塊,因為您可以在jQuery中鏈接方法調用?
success: function(response) {
$('#myDiv').html(response.d.htmlSnippet);
}
你可以嘗試做這樣的事情嗎?
$('#myDiv').html( '' + response.d.htmlSnippet );
我不知道它是否會工作...但是值得一試。
FF和我發現的其他代碼之間的JSON實現有所不同-其他代碼不允許傳遞怪異的字符。 您將不得不使用實體。 嘗試確定返回的內容-將整個響應對象放到類似Firebug的控制台中,然后查看內容。 提醒它可能還不夠。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.