簡體   English   中英

Safari / webkit中來自ajax調用的json對象的異常行為

[英]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);
}



  1. 你可以嘗試做這樣的事情嗎?

     $('#myDiv').html( '' + response.d.htmlSnippet ); 

    我不知道它是否會工作...但是值得一試。

  2. 我認為您的代碼為response.d.htmlSnippet。 ToString()可能不起作用。
    它應該是小寫的“ toString()”

FF和我發現的其他代碼之間的JSON實現有所不同-其他代碼不允許傳遞怪異的字符。 您將不得不使用實體。 嘗試確定返回的內容-將整個響應對象放到類似Firebug的控制台中,然后查看內容。 提醒它可能還不夠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM